1

キーアップまたは貼り付けでAjaxリクエストを実行しています。問題は、ユーザーがControl-Vを使用して貼り付けると、2つのajaxリクエストが発生することです。1つは貼り付け用、もう1つはキーアップ用です。

$("#my-form").bind('keyup paste', function(e) {...}

キーアップまたは貼り付けのいずれかにバインドするための良い方法は何ですか?

4

1 に答える 1

5

setTimeout/を使用clearTimeoutしてイベントを遅らせることができるため、一度だけトリガーされます。

$("#my-form").bind('keyup paste', function(e) {
    clearTimeout($(this).data('timeout'));
    $(this).data('timeout', setTimeout(function(){
        // your code
    }, 200));
});

デモ: http://jsfiddle.net/4b7y5/

于 2012-07-11T20:24:40.900 に答える