2012-07-26 2 views
-1

우리는 다른 이미지를 사용하여 끌어서 놓기 효과를 적용하는 jquery를 사용합니다. 끌어서 놓기가 잘 작동하고 이미지간에 정보를 교환 할 수도 있습니다. 드래그 앤 드롭이 완료되기 직전에 window.open (url, "VALUES", "width = 500, height = 300");과 같은 팝업 창이 나타납니다. 여기에는 데이터 입력을 확인하는 2 개의 텍스트 상자와 자바 스크립트가 있습니다. 문제는 주 창에서 팝업 창 텍스트 상자가 채워지고 정보가 주 창으로 다시 전송 될 때까지 진행하지 말아야한다는 것입니다 (끌어서 놓기). 어떻게 제어 할 수 있습니까? 윈도우가 기술을 사용하여 폐쇄되었는지의 경우 감지 할 수jquery에서 메인 윈도우를 일시 중지 할 수 있습니까?

+3

무엇을 시도 했습니까? 최소한의 예제 코드를 가지고 작업 할 수 있습니까? – Ivan

+0

@ivan 내가 지금까지 시도한 것은 내가 팝업 창을 호출 할 수있다. 팝업 창을 호출 한 후에 드래그 앤 드롭 작업을 한 후 그 창을 막을 필요가있다. – user837306

+0

@ivan 모달을 사용하면이 문제를 해결할 수 있습니까? – user837306

답변

1

window.open() 대신 var returnValue = window.showModalDialog(...);을 사용하십시오.

모달 창은 차단 호출이며 모달이 닫힐 때까지 기본 페이지의 자바 스크립트가 진행되지 않습니다.

https://developer.mozilla.org/en/DOM/window.showModalDialog

+0

Chrome에서 정상적으로 작동하지만 팝업은 열리지 만 Firefox에서는 표시되지 않으며이 오류가 표시됩니다. NS_ERROR_NOT_AVAILABLE : 구성 요소가 오류 코드를 반환했습니다 : 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindow.showModalDialog] [Break On This Error] \t ... = window. showModalDialog (url1, a, "dialogwidth : 450; dialogheight : 300; resizable : ... – user837306

+0

나는 serial1 = 1234 & ns1 = 121 & serial2 = 2232 & ns2 = 222와 같은 쌍으로 매개 변수를 보내야하는지 더 자세히 배우고 싶습니다. 여러 값을 부모 창으로 다시 가져 왔습니까? 이제는 window.dialogArguments와 window.returnValue를 보았습니다. 여러 값에 대해 어떻게 작동합니까? – user837306

+0

은 {{key : value}} 쌍을 사용하여 객체를 전달한 다음 모달 대화 상자에서 액세스합니다. 'window.dialogArguments'를 사용하여 – jbabey

2

here 설명 :

function checker() { 
    if (windowRef.closed) 
     allowDrops = true; 
    else 
     setTimeout(checker, 100); 
} 

은 그래서 당신이 할 것입니다 것은 창을 열 때, false로 allowDrops을 설정하고 checker()를 호출합니다. allowDrops가 true 인 경우에만 작동하도록 끌어서 놓기 이벤트 처리기를 수정하십시오.

관련 문제