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