我知道检查表单的最快捷方式可以是.keyup()
或者.keydown()
如果用户复制/粘贴一些文本呢?Tha 事件将被错过,但输入中的内容可能已更改。
此外,如果用户按下(或让)例如alt键,该事件将触发查询(在我的情况下无用)。
是否有任何类似的事件处理程序,如“文本更改”但实时检查?喜欢onchange
但作为处理程序。
我知道检查表单的最快捷方式可以是.keyup()
或者.keydown()
如果用户复制/粘贴一些文本呢?Tha 事件将被错过,但输入中的内容可能已更改。
此外,如果用户按下(或让)例如alt键,该事件将触发查询(在我的情况下无用)。
是否有任何类似的事件处理程序,如“文本更改”但实时检查?喜欢onchange
但作为处理程序。
您始终可以使用 bind() JQuery 方法检查用户是否正在复制/粘贴文本。在这里可以找到关于 Stack Overflow 的类似问题:How do you handle oncut, oncopy, and onpaste in jQuery?
(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); });