我有以下代码:
function setEvents() {
// do some code
myValidation();
}
function myValidation() {
// do some checks
// if checks passed, then set the values to URL parameters
window.location.replace(window.location.href + "?myName=" + capture_name);
}
setEvents();
$( "#edit-submitted-name-consolidation" ).click(function() {
window.addEventListener("beforeunload", function(e){
(e || window.event).returnValue = setEvents();
}, false);
});
解释:
我上面的代码setEvent()调用了myValidation()从内部调用函数的函数。
另外,我有一个代码,beforeunload可以在用户关闭浏览器时运行相同的功能。这仅在单击某个输入时发生。
但是,我希望myValidation()不要运行此beforeunload.
所以换句话说,我希望浏览器总是运行beforeunload,但是当myValidation()被调用/使用时,beforeunload应该被删除。
所以为了实现这一点,这就是我尝试过的:
function setEvents() {
// do some code
myValidation();
}
function myValidation() {
// do some checks
// if checks passed, then set the values to URL parameters
window.removeEventListener("beforeunload",(e));
window.location.replace(window.location.href + "?myName=" + capture_name);
}
setEvents();
$( "#edit-submitted-name-consolidation" ).click(function() {
window.addEventListener("beforeunload", function(e){
(e || window.event).returnValue = setEvents();
}, false);
});
所以,我添加window.removeEventListener("beforeunload",(e));了myValidation(). 但是,这对我不起作用。
所以我可以问,beforeunload如果myValidation()正在使用,我如何删除?
万千封印
相关分类