1
我想在我的onbeforeunload事件处理程序中只有当指定的元素被点击时才有我的业务逻辑。jQuery输入点击事件之前onbeforeunload?
我有以下代码(简化):
var myButtonClicked = false;
$(document).ready(function() {
window.onbeforeunload = myEventHandler;
$("#myButton").click(function() {
myButtonClicked = true;
$("#myform").submit();
});
});
function myEventHandler(event)
{
if (myButtonClicked)
{
// Do checking.
// return "Dirty flag..blahblah";
}
}
目前,这是生产相当怪异行为 - 第一次我的按钮被点击,点击事件是一个MyEventHandler后处理。第二次点击它,事先处理(这是在FF4.0)。
任何帮助获得这项工作将不胜感激。
编辑:修正。 :)
基本上我有两个点击事件;
myButton.click(function() {
...
ignoreFlag = true;
});
myButton.click(function() {
form.submit();
});
这总是一场关于哪一个事件首先被解雇的比赛。我合并了这两个,它似乎工作正常。
感谢您的帮助ysrb :)
你有没有试过把返回false;? (“#myButton”)。click(function(){ myButtonClicked = true; return false; }); 我的猜测是回传。 – ysrb
@ysrb - 我希望它提交并执行回发(这将调用onbeforeunload方法 - 我已更新代码来澄清一点。 – Russell
为什么要使用onbeforeunload?为什么你不能只用你想要的点击处理程序? – gilly3