我正在尝试为未保存的数据创建导航警告,但我遇到了问题,因为我尝试检查的页面清除了单选按钮。页面清除它们的方法是删除单选按钮并添加新的单选按钮。我不知道如何使用jQuery检测这一点。我已经有一些代码来检测文本框中的变化,它检测单选按钮是否改变了状态,但当它们被清除时,它不起作用。这是我的jQuery:
var warnMessage = "You have unsaved changes on this page!";
$(document).ready(function() {
$('input:not(:button,:submit),textarea,select,:disabled').change(function () {
window.onbeforeunload = function () {
if (warnMessage != null) return warnMessage;
}
});
$('input:submit').click(function(e) {
warnMessage = null;
});
});
有没有办法检测页面中是否使用了document.add?
发布于 2014-07-14 23:40:24
您应该这样使用.on()
函数(http://api.jquery.com/on/):
var warnMessage = "You have unsaved changes on this page!";
$(document).ready(function() {
$(document).on('change', 'input:not(:button,:submit),textarea,select,:disabled', function () {
window.onbeforeunload = function () {
if (warnMessage != null) return warnMessage;
}
});
$(document).on('click', 'input:submit', function(e) {
warnMessage = null;
});
});
请注意以下事项:
$
选择父元素(f.i.整个文档)包含您想要检测更改的元素/单击。只有在.on
函数中,您才能指定那些elements..live()
函数.on
.on()
https://stackoverflow.com/questions/24739049
复制相似问题