Javascript beforeunload事件的问题
我有一个卸载前Javascript beforeunload事件的问题,javascript,jquery,firefox,Javascript,Jquery,Firefox,我有一个卸载前功能: jQuery(window).bind('beforeunload', function() { if(inFormOrLink){ return inFormOrLink ? "Do you really want to close?" : null; }}); 该功能在Chrome中运行良好,但在Firefox中不起作用。对于Firefox,我使用以下功能: if(inFormOrLink){ var myEvent = window.attachEv
功能:
jQuery(window).bind('beforeunload', function() {
if(inFormOrLink){
return inFormOrLink ? "Do you really want to close?" : null;
}});
该功能在Chrome中运行良好,但在Firefox中不起作用。对于Firefox,我使用以下功能:
if(inFormOrLink){
var myEvent = window.attachEvent || window.addEventListener;
var chkevent = window.attachEvent ? 'onbeforeunload' : 'beforeunload';
myEvent(chkevent, function(e) {
var confirmationMessage = 'Are you sure to leave the page?'; // a space
(e || window.event).returnValue = confirmationMessage;
return confirmationMessage;
});
}
这个很好用。当我得到inFormLink false的值时,我的问题类似于上面的函数。我不明白“当我得到inFormLink false的值时,我的问题类似于上面的函数”是什么意思。当值为false时会发生什么?如果您在Firefox或Chrome或两者中遇到问题?在上面的函数中,当我不想调用popup时,我使用inFormOrLink=false,但在下面的例子中,我使用了相同的方法,但是popup appear如果inFormOrLink
是true
,则您所说的不会发生。这段代码可能运行多次吗?因为如果它在inFormOrLink
打开的情况下运行一次,那么事件将保持绑定状态,直到您尝试离开页面…明白了,但是如果它调用了很多,那么为什么我上面的代码在chrome中运行良好,但对于mozila,我在相同的场景中使用下面的代码,但它不工作我不明白是什么“我的问题是,当我得到inFormLink false的值时,上述函数会起作用“意思是。当值为false时会发生什么?如果您在Firefox或Chrome或两者中遇到问题?在上面的函数中,当我不想调用popup时,我使用inFormOrLink=false,但在下面的例子中,我使用了相同的方法,但是popup appear如果inFormOrLink
是true
,则您所说的不会发生。这段代码可能运行多次吗?因为如果它在inFormOrLink
打开的情况下运行一次,那么事件将保持绑定状态,直到您尝试离开页面…明白了,但是如果它调用了很多,那么为什么我上面的代码在chrome中工作得很好,但对于mozila,我在相同的场景中使用下面的代码,但它不工作