keydownイベントを使用する場合、それを押している間、イベントは実行され続けます。これで、長押ししても実装は一度だけで済みます。
キーダウンの実行間隔を設定できますか? 特定のキーを押している間、400msごとに実行できますか?
$(document).keydown(function(e){ //按下去就执行,按照事件类型来进行分类 var corelist = $('.corelist_item'); var readfloor = $('.J_read_floor'); if(corelist.length || readfloor.length){ if(e.keyCode == 87){ // w键 上一篇/楼 listJump(false,10,corelist); listJump(false,55,readfloor); } });
コードを書く/私もピアノを弾きたい/フロントエンドはタイトルだけ/履歴書を集める keydownとkeyupはペアです。 ページが許可する場合は、 一度だけ実行できるjQueryのone()を使うページを更新しない場合のパラメータの追加は異なります。keydown ボタンを押したままにするときのイベントは 1 つだけですが、ボタンを放してもう一度押すと、keydown イベントがバインドされます。 これがあなたに試してほしい家庭療法です...これは醜くて不正確ですが、JavaScriptでは時間内にそこまでの精度を達成することはできません。 以上がjqueryでkeydownイベントを一定間隔で実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
そのため、キーアップを監視すると、キーを押したときにトリガーされるキーダウンを排除できます。
例えば、キーアップ時に bool=true、bool=true を設定し、キーダウン時に bool が true かどうかを判定し、true の場合のみ実行し、その後 bool=false とします。
パラメータによる判定の他に、一度だけ実行できるjQueryのone()を使うこともできます$(btn).one("keydown",function(){
//dosomething
});