JQuery で keyup 関数を使用して、ユーザーが文字または何かを押すたびにクラスを div に追加し、バックスペースを押したときにクラスを削除しています。ただし、キーアップ機能にはわずかな遅延があります。キープレスを使用してみましたが、遅延はありませんが、バックスペースが検出されないため使用できません。
キーアップの遅延を止める方法や、私が使用できる代替機能を知っている人はいますか?
ただし、キーアップ機能にはわずかな遅延があります。キープレスを使ってみましたが、遅れはありませんが、バックスペースが検出されないので使えません。
keyup
発生するわずかな遅延は、ユーザーがキーを離すまでトリガーされないという事実によるものです。
遅延が必要ない場合は、代わりにキーダウンを使用してください。
$('#target').keydown(function(eventData) {
if(eventData.which === 8){
// Backspace was pressed
} else {
// another key was pressed
}
});
あなたはこのようなことについて取っていますか?
$(document).ready(function() {
var timer,
container = $('p');
function doSomething()
{
container.text(new Date());
}
$('#find').keyup(function() {
clearTimeout(timer);
timer= setTimeout(doSomething, 200);
});
});
$(function(){
$('html').keyup(function(e){
var d1 = new Date().getMilliseconds();
if(e.which === 8){
alert('Backspace pressed, delay: ' + new Date().getMilliseconds() - d1) + 'ms';
}
});
});