我在更改jQuerys beforeunload()
功能时遇到问题,具体取决于用户操作。
$(document).ready(function() {
$(window).bind('beforeunload', function() {
if (billChanged == false) {
return false;
}
else if ( savebutton was clicked ) {
return false;
}
else {
return "refreshing page without saving, huh? you're a bad boy!";
}
});
});
我遇到的问题是,我无法想出一种方法来检查是否点击了“保存按钮”,如上面代码段中的else if
子句中输入的那样。
表单本身非常复杂,我无法改变它。
答案 0 :(得分:3)
$(document).ready(function() {
var not_saved = true;
$('#saveButtonId').on('click', function() {
not_saved = false;
})
$(window).on('beforeunload', function() {
if (not_saved && billChanged)
return "refreshing page without saving, huh? you're a bad boy!";
}
});
});
答案 1 :(得分:0)
您可以定义全局变量。更改按钮的值onclick
,然后在函数中检查
var clickedButton = false;
然后你的HTML
<input type="button" .... onclick="clickedButton=true;">
然后在你的函数中
else if ( clickedButton ) {
return false;
}