繁体   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