1

我知道检查表单的最快捷方式可以是.keyup()或者.keydown()如果用户复制/粘贴一些文本呢?Tha 事件将被错过,但输入中的内容可能已更改。

此外,如果用户按下(或让)例如alt键,该事件将触发查询(在我的情况下无用)。

是否有任何类似的事件处理程序,如“文本更改”但实时检查?喜欢onchange但作为处理程序。

4

2 回答 2

1

您始终可以使用 bind() JQuery 方法检查用户是否正在复制/粘贴文本。在这里可以找到关于 Stack Overflow 的类似问题: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 回答