2016-05-31 78 views
2

我試圖在板上的每個按鍵後的第一個相同的類添加相同的div。jQuery使用keydown/keyup/keypress事件觸發只有一次,而不是多次,當按住鍵時

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

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

$(document).on('keydown', function() { 
    $('.player1:last').after('<div class="player1">Go!<div>'); 
}) 
+0

你有兩個問題?還是單個問題? – guest271314

+0

哈哈我添加了第二個問題,所以我不必寫其他問題 – ravip0711

回答

4
  1. 使用按鍵,當用戶按住鍵時,它會導致事件 當其按住(並繼續火跑)。我想停止 ,並且僅在按鍵時觸發一次該功能,即使該按鍵被保持爲關閉狀態( )。

您可以使用.one()附加​​事件,在事件keyup重新連接再次使用.one()​​事件,應防止​​處理從當鍵被按下被調用。

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>

相關問題