2010-07-28 21 views
1

下面是一个例子页:http://vincent-massaro.com/modal/modaltest.html延迟窗口上点击打开使用jQuery

我想有使用jQuery打开一个链接被点击时,一个窗口,但延迟弹出,使之前的第一次显示一条消息弹出窗口。从示例中可以看出,window.open不是发生在点击上,而是发生在淡入淡出,所以这会触发弹出式窗口拦截器,因为它不会被用户单击输入触发。是否有可能移动window.open并延迟它,以便当单击链接时,window.open和模态消息同时触发,但window.open延迟5秒,因此它不会触发弹出式窗口拦截器?谢谢!

回答

2
setTimeout(function() { 

// window.open call 

}), 5000); 

这不会是一个准确的5秒,这取决于浏览器的繁忙程度。但足够准确。把它放在你的.click fn。

+0

你能修改我的源代码吗? Javascript新手在这里,我不确定你的意思。谢谢。 – Vincent 2010-07-28 19:26:33

+0

我能够让您的代码正常工作,但它仍然触发Firefox,Chrome和Safari中的弹出窗口拦截器。任何其他想法? http://vincent-massaro.com/modal/modaltest.html# – Vincent 2010-07-29 15:46:57

+2

此代码应该以如下结尾:“},5000);” :) – Zuul 2010-08-04 18:40:29

0

还没有尝试过,但将window.open放在超时函数中,并将其分别绑定到链接。

+0

原来这是不可能的。 – Vincent 2010-08-25 16:11:06