2012-07-26 22 views
-1

我们有一个基于使用不同图像的拖放效果的jquery。拖放工作正常,我们甚至可以在图像之间交换信息。现在,在我们允许拖放完成之前,我们称之为弹出式窗口,如window.open(url,“VALUES”,“width = 500,height = 300”);.其中我们有2个文本框和JavaScript来验证数据条目。问题是,在主窗口中,我们不能继续(拖放),直到弹出窗口文本框被填充并且信息被发送回主窗口?如何控制?是否有可能在jquery中暂停主窗口?

+3

你有什么试过的?我们可以使用一小段可以使用的示例代码吗? – Ivan 2012-07-26 17:15:58

+0

@ivan我到目前为止所尝试的是,我可以调用弹出窗口,然后在调用弹出窗口之后进行拖放工作,然后我需要阻止该窗口,并且我也无法在Google上找到任何内容。 – user837306 2012-07-26 17:20:50

+0

@ivan是否使用模态将解决此问题? – user837306 2012-07-26 17:26:45

回答

1

使用var returnValue = window.showModalDialog(...);而不是window.open()

模态窗口是一个阻塞调用,主模板中的javascript将不会继续,直到模态关闭。

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 2012-07-26 17:42:51

+0

我想进一步了解如果我需要像serial1 = 1234&ns1 = 121&serial2 = 2232&ns2 = 222发送参数,还要发送多值返回到父窗口?我看到的是现在这个window.dialogArguments和window.returnValue?它如何工作多个值? – user837306 2012-07-26 17:44:51

+0

使用'{key:value}'对传递一个对象,然后在模态对话框中访问它使用'window.dialogArguments' – jbabey 2012-07-26 17:46:52

2

如果窗口已使用该技术关闭或没有可以检测描述here

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

所以,你会做的是当你打开的窗口中,设置allowDrops为false并调用checker()。修改您的拖放事件处理程序,使其仅在allowDrops为true时才起作用。

相关问题