Javascript / jQuery onbeforeunload HTML事件麻烦

时间:2015-08-28 09:38:11

标签: javascript jquery events triggers dojo

我有这段代码没有做我想要的:

$('body').attr("onbeforeunload", "return dojoclick()");

function dojoclick(){
    dojo.byId('jstop').click();
}

“点击”功能不起作用,但如果我将“点击”替换为“删除”它有效...例如:

$('body').attr("onbeforeunload", "return dojoclick()");

function dojoclick(){
    dojo.byId('jstop').remove(); //Element is removed properly
}

“点击”功能有效,因为如果我通过控制台调用“dojoclick()”,它会触发:

enter image description here

单击按钮后,它会打开一个记事本(它调用一个打开notepad.exe的Java例程)。

为什么函数dojoclick()没有执行onbeforeunload

2 个答案:

答案 0 :(得分:0)

尝试使用

$(window).on('beforeunload', function(){
              dojoclick();
       });

而不是将其作为HTML属性附加。

或者您可以直接使用

$(window).on('beforeunload', function(){
              dojo.byId('jstop').click();
       });

不幸的是我无法帮助你更多,我真的不知道道场如何运作

答案 1 :(得分:0)

我找到了一个解决方案,可能因为它的功能而非常糟糕:

dojo.addOnUnload(function(){
    dojo.byId('jstop').click();
});

它随机工作(?)我的意思是,我关闭窗口10次,它触发6.我讨厌这个。