jQuery中的keydown事件是用戶按下鍵盤按鍵時觸發的事件,而間隔執行指的是某個操作每隔一定時間執行一次。
當我們需要監聽用戶按下鍵盤的時候,就需要使用keydown事件,例如如下代碼:
$(document).on('keydown', function(event){ console.log('按下鍵盤按鈕'+ event.which); });
在這段代碼中,我們綁定了一個keydown事件,每次用戶按下鍵盤時就會執行一次回調函數,并在控制臺輸出用戶按下鍵盤的ASCII碼。
但有時候我們需要實現一個功能,例如用戶一直按住某個鍵不放時需要進行持續的操作(如持續滾動屏幕、持續連發子彈),這時就需要使用keypressed事件并加上一個間隔執行函數。
var timer; //定義timer $(document).on('keydown', function(event){ if(event.which == 37){ //當按下左箭頭鍵時 timer = setInterval(function(){ //持續滾動 },500); //每500ms執行一次函數 } }); $(document).on('keyup', function(event){ clearInterval(timer); //當釋放按鍵時停止持續操作 });
在這段代碼中,我們首先在keydown事件中設置了一個500ms的計時器,每500ms執行一次回調函數用于持續滾動屏幕。當用戶釋放鍵盤按鈕時在keyup事件中清除計時器,停止持續操作。這樣一來,用戶按住左箭頭鍵不放時就可以實現持續滾動屏幕的效果。