1

フォームを検査する最も簡単な方法は.keyup()or.keydown()でも、ユーザーがテキストをコピー/貼り付けした場合はどうでしょうか? そのイベントは見逃されますが、入力の内容は変更されている可能性があります。

また、ユーザーがたとえばAltキーを押す (または許可する) と、そのイベントによってクエリがトリガーされます (私の場合は役に立たない)。

「テキスト変更」のような同様のイベントハンドラーはありますが、リアルタイム検査ですか? onchangeハンドラーとしてのように。

4

2 に答える 2

1

bind() JQuery メソッドを使用して、ユーザーがテキストをコピー/貼り付けしているかどうかを常に確認できます。ここで見つけることができるスタック オーバーフローに関する同様の質問があります: How do you handle oncut, oncopy, and onpaste in jQuery?

于 2012-10-24T23:58:10.800 に答える
1
(function($){
    $.fn.oneinput = function(callback) {        
        function testInput(){ 
            var tb = jQuery(this);
            var currentValue = tb.val();
            if (tb.data("lastInput") !== currentValue ) {
                tb.data("lastInput",currentValue );
                if(callback) { 
                    callback.call(this) 
                };
            }
            return this;
        }    
        $(this).bind("keyup input paste", testInput);
    };
}(jQuery));

$('input').oneinput( function(){ console.log(this.value); });
于 2012-10-25T00:19:01.200 に答える