我有两个功能,一个用于设置beforeunload
,另一个用于将其删除为:
function setOnBeforeLoad(){
console.log('setOnBeforeLoad');
$(window).on('beforeunload', function(){
return 'abc';
});
}
function removeOnBeforeLoad(){
console.log('removeOnBeforeLoad');
$(window).on('beforeunload', function(){
// return undefined;
// return null;
});
}
一旦添加了onbeforeload
事件,我将无法删除它。因此,它防止了不必要的重装。
我尝试不返回任何内容,undefined
和null
。但是,似乎没有任何效果。有什么我想念的吗?
答案 0 :(得分:1)
为此尝试使用jQuery namespaces(和.off()
删除事件)
function setOnBeforeLoad(){
console.log('setOnBeforeLoad');
$(window).on('beforeunload.somenamespace', function(){
return 'abc';
});
}
function removeOnBeforeLoad(){
console.log('removeOnBeforeLoad');
$(window).off('beforeunload.somenamespace');
}
答案 1 :(得分:0)
使用
$(window).off('beforeunload')