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