首頁 >web前端 >js教程 >jquery處理鍵盤keyup事件的詳細介紹

jquery處理鍵盤keyup事件的詳細介紹

黄舟
黄舟原創
2017-06-27 14:17:391702瀏覽

jquery處理鍵盤keyup事件

function suggest(baseUrl , data) {
var wordInput = $("#userName");
wordInput.keyup(function(event) {
alert(1);
}//调用这个函数,弹出一个窗口,内有输入框id为userName,
//第一次弹出窗口,在输入框内按一次键,弹出一次alert
//关闭窗口在从新进入,在输入框内按两次键,弹出两次alert
//如此递增 ,为什么啊 ,多谢

}

你是給文字方塊綁定的keyup,按鍵兩次當然彈兩下!你想要什麼效果?通常是要做判斷的,在按某個鍵後執行一個操作

問題描述錯了
//第一次彈出窗口,在輸入框內按一次鍵,彈出一次alert
//關閉視窗在從新進入,在輸入框內按兩次鍵,彈出兩次alert
//關閉視窗在從新進入,在輸入框內按兩次鍵,彈出三次alert
//如此遞增,為什麼啊,多謝

應該是重複綁定的問題,你這個方法是在彈出視窗後觸發的吧?是有特殊要求嗎?把他改成開始時觸發行嗎?那樣只綁定一次事件應該沒問題了

function suggest(baseUrl , data) {
    var wordInput = $("#userName");
    var wordInputOffset = wordInput.offset()

  alert(2);
  wordInput.keyup(function(event) {
     alert(1);
        var myEvent = event || window.event;
                var autoNode = $("#auto");
}}
//alert(2);这个alert很正常,所以应该不是你说的问题

keyup是指按鍵抬起,你按一下抬起一次,再按又抬起一次,所以就是這樣了,這是正常結果。如果這不是你的目的,請把你希望的結果說出來,我們可以給你意見。

綁定事件的程式碼位置問題,你把完整程式碼貼出來吧,一定是重複綁定了。或者這樣

wordInput.unbind('keyup').keyup(function(event)...

就是先解除先前綁定的事件,然後重新綁定

#

以上是jquery處理鍵盤keyup事件的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn