JS Popup 中断 javascript 的执行

JS Popup interrupts execution of javascript

假设我有 http://www.w3schools.com/js/tryit.asp?filename=tryjs_prompt 页面。现在我有了点击动作的事件监听器,像这样:

document.addEventListener('click', function() {
    MyMagicHere();
});

现在,如果单击“试一试”按钮,MyMagicHere() 会被 JS 弹出窗口打断。即使单击此按钮,我也希望执行 MyMagicHere()。有什么way/workaround如何处理这种情况?

您可以使用 'mouseup' 事件而不是 'click' 事件来触发您的 MyMagicHere 调用,因为它会在按钮上的 'click' 事件之前触发。

尝试将 addEventListeneruseCapture 参数设置为 true。然后您的侦听器将在捕获阶段执行,然后再执行任何事件目标。

document.addEventListener('click',function(){
   MyMagicHere();
}, true);

这就是捕获和冒泡事件的概念。你可以在这个question

中看到更多