Javascript 中常见的 class 对象侦听器有问题吗?
Trouble with a common-class object listener in Javascript?
我有以下 Javascript:
function save_data_check(e) {
var input_value = $('.input-right').text();
if (input_value !== "") {
if(!e) e = window.event;
e.cancelBubble = true;
e.returnValue = 'You have unsaved data on this page.';
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}
}
window.onbeforeunload = save_data_check;
此代码的预期功能是 运行 函数 'save_data_check' 当用户尝试离开页面时,如果任何具有公共 class 'input-right' 的输入有任何价值。
这个函数的问题似乎是它最基本的部分:事件监听器。删除检查 common-class 输入是否有任何值的 if 语句会在我每次尝试离开页面时产生弹出窗口?
我怎么听不到这个活动?
有两个问题:
onbeforeunload
是一个 不寻常的 事件。您只需 return 您想要显示的消息。
input
元素没有文本,它们有 值。
所以:
function save_data_check() {
var msg;
$('.input-right').each(function() {
if (this.value) {
msg = 'You have unsaved data on this page.';
return false;
}
});
return msg;
}
window.onbeforeunload = save_data_check;
我有以下 Javascript:
function save_data_check(e) {
var input_value = $('.input-right').text();
if (input_value !== "") {
if(!e) e = window.event;
e.cancelBubble = true;
e.returnValue = 'You have unsaved data on this page.';
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}
}
window.onbeforeunload = save_data_check;
此代码的预期功能是 运行 函数 'save_data_check' 当用户尝试离开页面时,如果任何具有公共 class 'input-right' 的输入有任何价值。
这个函数的问题似乎是它最基本的部分:事件监听器。删除检查 common-class 输入是否有任何值的 if 语句会在我每次尝试离开页面时产生弹出窗口?
我怎么听不到这个活动?
有两个问题:
onbeforeunload
是一个 不寻常的 事件。您只需 return 您想要显示的消息。input
元素没有文本,它们有 值。
所以:
function save_data_check() {
var msg;
$('.input-right').each(function() {
if (this.value) {
msg = 'You have unsaved data on this page.';
return false;
}
});
return msg;
}
window.onbeforeunload = save_data_check;