1

JQuery で keyup 関数を使用して、ユーザーが文字または何かを押すたびにクラスを div に追加し、バックスペースを押したときにクラスを削除しています。ただし、キーアップ機能にはわずかな遅延があります。キープレスを使用してみましたが、遅延はありませんが、バックスペースが検出されないため使用できません。

キーアップの遅延を止める方法や、私が使用できる代替機能を知っている人はいますか?

4

3 に答える 3

1

ただし、キーアップ機能にはわずかな遅延があります。キープレスを使ってみましたが、遅れはありませんが、バックスペースが検出されないので使えません。

keyup発生するわずかな遅延は、ユーザーがキーを離すまでトリガーされないという事実によるものです。

遅延が必要ない場合は、代わりにキーダウンを使用してください。

$('#target').keydown(function(eventData) {

    if(eventData.which === 8){
        // Backspace was pressed
    } else {
        // another key was pressed
    }
});

デモ

于 2012-09-22T22:35:55.050 に答える
1

あなたはこのようなことについて取っていますか?

$(document).ready(function() {
    var timer,
        container = $('p');

    function doSomething()
    {
        container.text(new Date());
    }

    $('#find').keyup(function() {
        clearTimeout(timer);
        timer= setTimeout(doSomething, 200);
    });
 });  

デモ: http://jsfiddle.net/tXJAz/

于 2012-09-22T22:26:35.183 に答える
1
$(function(){

    $('html').keyup(function(e){

        var d1 = new Date().getMilliseconds();

        if(e.which === 8){
            alert('Backspace pressed, delay: ' + new Date().getMilliseconds() - d1) + 'ms';
        }   

    });
});
于 2012-09-22T22:12:11.860 に答える