只有当用户关闭我的 ASP.NET Web 表单页面或导航离开它时,我才想向用户显示一条消息。如果他们单击任何 Button、LinkButton、AutoPostBack 元素或任何其他将回发的内容,那么我不想显示该消息。
到目前为止,我有以下代码:
<script type="text/javascript">
var postback = false;
addToPostBack = function(func) {
var old__doPostBack = __doPostBack;
if (typeof __doPostBack != "function") {
__doPostBack = func;
} else {
__doPostBack = function(t, a) {
if (func(t, a)) old__doPostBack(t, a);
}
}
};
$(document).ready(function() {
addToPostBack(function(t,a) {
postback = true;
});
});
$(window).bind("beforeunload", function() {
if (!postback) {
return "message";
}
});
</script>
这部分有效,但似乎阻止了 AutoPostBack 事件的触发,并且仍然显示 LinkButtons 等的消息。
我怎样才能做到这一点?