因此,我正在使用信用卡號碼文本輸入字段中的jQuery.payment。當用戶輸入任何第四個數字(4,8,12)時,該插件會自動放置在一個空間中,以獲得美觀。因此,只有keyup
事件觸發,而不是input
事件。但是,如果用戶要右鍵單擊並粘貼值,則只會觸發input
事件。所以我們有其中一個或另一個事件發生的情況,或者兩個事件都發生。jQuery - 我怎樣才能確保一個函數只運行一次與多個綁定和事件觸發?
我有一個change keyup input
勢必匿名函數,以確保所有用例都包括在內,但我希望函數只有每個鍵時運行一次,但正常的按鍵防火雙方keyup
和input
。 jQuery的.one()
不是一個選項,因爲這個功能需要運行多次,而不是一次按鍵兩次。我怎樣才能確保這個功能只運行一次,即使這兩個事件是從一個按鍵觸發的?
我知道我可以編輯jQuery.payment並觸發input
事件,但我不想修改供應商插件,以防我決定更改版本或某些事情。
這可能是一個好的開始=> [https://mathiasbynens.be/notes/oninput](https://mathiasbynens.be/notes/oninput) – lshettyl 2015-03-13 15:43:00
,如果你只能聽'change'事件應該正常工作?不需要鍵控或輸入 – Flame 2015-03-13 15:45:03
「變化」通常不會從正常的按鍵觸發。我只是在函數中運行一個簡單的'console.log(e)'來查看事件,並且在鍵入,退格或粘貼時'change'不會經常彈出。 – Brandon 2015-03-13 15:49:00