我有一个更改事件和一个keyup事件。我注意到当有一个keyup事件时,更改事件不会在IE 8上触发。我有一个函数,我真的需要在更改时执行而不是在keypress上执行。有办法吗?任何建议或建议都非常感谢。
$('#txtbox').on('keyup', function () {
onKeyUp();
}).change(function () {
onChanged();
});
这是代码。 我应该对变更事件做点什么,每次用户按下一个键都不应该调用。
答案 0 :(得分:0)
您可以使用input
事件:
$(':text').on('input', callback);
或者您可以使用setTimeout()
或clearTimeout()
:
var a='';
$(':text').on('input', function(){
clearTimeout(a);
a = setTimeout(function(){
console.log('done');
},500);
});
答案 1 :(得分:0)
避免设置值,而是设置innerText。
// Set value for IE without clearing the "changed" flag
this.innerText = val;
// Set value for everyone else
if ( this.value != val ) {
this.value = val;
}