有一個輸入文本在「onkeyup」事件上觸發一個函數。當該函數觸發時,我使用.on(「keyup」)方法綁定一個「keyup」事件,以便獲取最後一次按下的鍵以查找它是否是字母數字以便激發我想要的搜索ajax。在完成之後,我使用.off(「keyup」)方法解除連接。JavaScript .on(「keyup」)
但是有一個問題,解除綁定。問題是;我的代碼只運行一次,並且不會輪到一次,然後再次運行,並且不會爲另一輪運行並繼續運行。我替換了我想簡化測試的代碼。
$("#arama").on("keyup",function(event) {
console.log("asd");
$("#arama").off("keyup");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="arama" />
我在哪裏弄錯了?
P.S:我已經解決了,這要感謝Chris。
很奇怪,你的代碼運行日誌,即使我寫一次多次http://i.hizliresim.com/JazolQ.png –
這是因爲它被解除綁定'keyup'事件它發射一次後。你可以在'.off(「keyup」)'命令中設置一個條件來控制何時停止運行父功能。 –
你好像誤解了我。看到這些2圖片http://i.hizliresim.com/nRN8da.png http://i.hizliresim.com/GB48Av.png第一張圖片我寫了3個字符,它沒有記錄第三個字符,On第二張圖片我寫了4個字符,並且每隔兩次都記錄一次字符它記錄了第三個和第四個字符的記錄。我正在查看它是否是字母數字不只是數字它是爲了確保它不是按Ctrl,Alt或者是 –