我正在尝试在模态中打开外部链接。以下代码工作正常:
$('[data-link]').on('click', function(event){
event.preventDefault();
var link = $(this).attr('href');
window.open(link, 'newwindow', 'width=300, height=250');
});
但如果我将window.open
函数放入延迟函数调用中,我的浏览器会收到“弹出窗口阻止”消息:
$('[data-link]').on('click', function(event){
event.preventDefault();
var link = $(this).attr('href');
_.delay(function(){
window.open(link, 'newwindow', 'width=300, height=250');
}, 0);
});
延迟是多少并不重要,它只适用于延迟通话。有谁知道为什么会这样,我怎么能让它发挥作用?
答案 0 :(得分:2)
弹出窗口阻止程序只允许您在直接响应用户事件时打开弹出窗口。
致电setTimeout()
后,您不再对事件做出直接回应,也无法通过。