我使用此代码段来防止用户意外导航离开编辑页面:
var warning = false;
window.onbeforeunload = function() {
if (warning) {
return '';
}
}
现在我想将变量warning设置为true,如果修改了textarea或input type =“text”中的任何一个,我想使用onkeyup事件,如:
document.getElementById('textarea_id').onkeyup = function() {
warning = true;
}
但它不起作用。不想在这上面使用jQuery。任何见解?
更新
改为:
var warning = false;
window.onbeforeunload = function() {
if (warning) {
return 'You have unsaved changes.';
}
}
document.getElementById('textarea_id').onkeyup = function() {
warning = true;
}
然而它仍然没有用。
顺便说一下,它放在页面中。其他任何地方都没有javascript。
答案 0 :(得分:4)
onbeforeunload
事件的返回值仅在不等同于false
的情况下使用。
将return '';
更改为
return 'You have unsaved changes.';