簡體   English   中英

jQuery使用keydown / keyup / keypress事件僅觸發一次,而不是按住鍵時觸發多次

[英]jQuery using keydown/keyup/keypress event to fire only one time instead of multiple times when key held down

我正在嘗試在板上每次按鍵后的第一個添加相同的div,並添加相同的類。

  1. 使用按鍵,當用戶按下鍵時,按下該鍵將觸發事件(並繼續運行)。 我想停止該操作,即使按下該鍵,也只能在按鍵時觸發一次功能。

<div class="player1"></div>

$(document).on('keydown', function() {
    $('.player1:last').after('<div class="player1">Go!<div>');
})
  1. 使用按鍵,當用戶按下鍵時,按下該鍵將觸發事件(並繼續運行)。 我想停止該操作,即使按下該鍵,也只能在按鍵時觸發一次功能。

您可以使用.one()附加keydown事件,在keyup事件中再次使用.one()重新附加keydown事件,這樣可以防止在按住key時調用keydown處理程序。

 function handleKeyDown() { $('.player1:last').after('<div class="player1">Go!<div>'); } var d = $(document); d.one('keydown', handleKeyDown) .on("keyup", function() { d.one("keydown", handleKeyDown) }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script> <div class="player1"></div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM