我試圖在select元素改變時觸發一個函數。如何綁定到模糊和更改,但只在JQuery/Javascript中觸發一次函數?
由於Ipad在on('change')方面有問題,我還想綁定到'blur',這在Ipad上可以正常工作。
但是我不希望這兩個事件觸發功能的兩倍,所以我需要某種形式的掛鉤,以確保如果兩個變化和模糊觸發,底層函數只觸發一次。
這是我現在在做什麼,但......不是很好:
// make sure binding is only assigned once
var compSel = $('#my_select');
if (compSel.jqmData('bound') != true){
console.log("bound");
compSel.jqmData('bound', true)
.on($.support.touch ? 'blur' : 'change', function(){
console.log("trigger");
// run function xyz
})
}
這工作,如果你可以與所有的可觸摸設備製造生活確實與模糊。
問:
有沒有人有一個更好的主意,以確保模糊和更改一次只觸發功能?
感謝您的幫助!
+1這應該工作 – Vithozor 2012-07-05 14:48:08
呀。也是我正在採取的方法。謝謝! – frequent 2012-07-05 19:33:43
如果操作打開新頁面,則在用戶返回到原始頁面時,超時將過去,並通過單擊所述頁面,他將觸發模糊事件。 – 2016-10-18 21:00:30