Jquery plugins jQuery:如果textarea发生更改,则发出警报
您能推荐一些轻量级jQuery插件来检测选择器指定的字段是否已更改吗Jquery plugins jQuery:如果textarea发生更改,则发出警报,jquery-plugins,jquery,Jquery Plugins,Jquery,您能推荐一些轻量级jQuery插件来检测选择器指定的字段是否已更改吗 例如,像这样,当我想在后期编辑期间重新加载页面时,显示确认对话框。无需插件: $('selector').change( function() { alert( 'I've changed!'); } ); 启用SO的一个不同,它是在执行操作之前检查一个框是否为空或其中是否包含默认文本。它不是“在更改时”触发的。这是一个太基本/特定的功能,不可能有自己的插件 您只需存储一个布尔值,该值在任何元素发生更改时设置为true: v
例如,像这样,当我想在后期编辑期间重新加载页面时,显示确认对话框。无需插件:
$('selector').change( function() { alert( 'I've changed!'); } );
启用SO的一个不同,它是在执行操作之前检查一个框是否为空或其中是否包含默认文本。它不是“在更改时”触发的。这是一个太基本/特定的功能,不可能有自己的插件 您只需存储一个布尔值,该值在任何元素发生更改时设置为true:
var changed = false;
$(document).ready(function() {
$('.watch-for-changes').change(function() {
change();
});
window.onbeforeunload = function() {
if (hasChanged()) {
return "There are unsaved changes on the page.";
}
};
}
function change() {
changed = true;
}
// use this to programmatically change an input field
function changeValue(elField, value) {
$(elField).val(value);
change();
}
function hasChanged() {
return changed;
}
编辑:以前使用的
onbeforeunload
不正确。有关其用法的更多详细信息,请参阅。实际上,它可能比其他答案中所述的要复杂一些,因为提交表单也会引发事件
现在情况改变了:有一个非常有用的jquery插件,它可以满足您的要求:
你可以看到它是如何与他们合作的。我认为这不是他所指的。只有当您在“提问”或“您的答案”框中键入内容并尝试离开或刷新页面时,确认对话框才会弹出。这是在没有任何AJAX请求的情况下完成的,可能只是检查这些字段是否为非空。