下一个示例代码在我按住按钮时多次输出“keydown”消息。文档说keydown 事件发生一次,只需按一下按钮。因此,keydown 事件的工作方式类似于下一个示例中的 keypress 事件。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title></title>
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
function onLoad()
{
$( '#text' ).on( 'keydown', function() { console.info( 'keydown' ) } );
}
</script>
</head>
<body onload='onLoad()'>
<input type='text' id='text'>
</body>
</html>
我在 Windows、Firefox 19.0.2 和 Google Chrome 25.0.1364.152 上对其进行了测试。我还创建了一个小提琴(问题可以重现)。重现问题的 JQuery 版本:1.8.2、1.9.1。
更新。
我确实意识到了这个问题:如何避免 JavaScript 中自动重复的 keydown 事件?.