【发布时间】:2010-07-21 10:11:24
【问题描述】:
我想在用户选择 DropDownList 中的项目时显示确认对话框。如果用户按“取消”,我想停止回发。这是我添加到 onchange 事件的函数:
function imitateConfirmUnload(event) {
if (window.onbeforeunload = null)
return true;
return confirm("Are you sure you want to navigate away from this page?\n\nYou have unsaved changes\n\nPress OK to continue or Cancel to stay on the current page.");
}
这是我的启动脚本中用于将处理程序添加到事件的相关代码:
function addConfirmToWarnClasses() {
$('.warn').change(function() {
imitateConfirmUnload()
});
}
问题是即使用户选择“取消”也会发生回发。如果我将处理程序移到单击事件上,它就可以工作。但我觉得它很笨重。
编辑
更正:在点击时它不起作用,因为对话框阻止选择,所以当用户选择确定时,没有发生任何更改,并且在你想要的时候也没有回发!
编辑 2
DropDownList 位于 UpdatePanel 内,因此可能会影响行为。
【问题讨论】:
标签: asp.net jquery javascript-events