我有以下jQuery代码:
$input.on('keyup', keyUpListener);
$input.on('input', inputListener);
// IE <= 8 fallback for input event.
$input[0].onpropertychange = function() {
if (window.event.propertyName === "value") {
inputListener(window.event);
}
};
$input
是一个jQuery input[type='text']
。
现在keyUpListener
和inputListener
都是在我输入input
时或者当我复制并粘贴某些内容时执行的(onpropertychange
未被触发,因为它是一个IE只有事件)。
但是,如果inputListener
正在执行,我如何告诉JS不要触发keyUpListener
,反之亦然?
答案 0 :(得分:0)
将特定事件附加到文本框?
$("#input").on('input', function () {
}
例如上面 - 这样你可以让多个监听器不在同一个输入上执行
修改强>
您也可以将粘贴功能绑定到文本框..
$("#input").bind('paste', function() {
var pasted = true;
});
因此,您可以使用以下IF语句:
if (pasted) {
$input.on('input', inputListener);
} else {
$input.on('keyup', keyUpListener);
}