IE上的keyup和change功能

时间:2014-04-11 12:06:28

标签: jquery html asp.net-mvc

我有一个更改事件和一个keyup事件。我注意到当有一个keyup事件时,更改事件不会在IE 8上触发。我有一个函数,我真的需要在更改时执行而不是在keypress上执行。有办法吗?任何建议或建议都非常感谢。

 $('#txtbox').on('keyup', function () {        
        onKeyUp();
    }).change(function () {
        onChanged();
    });

这是代码。 我应该对变更事件做点什么,每次用户按下一个键都不应该调用。

2 个答案:

答案 0 :(得分:0)

您可以使用input事件:

$(':text').on('input', callback);

或者您可以使用setTimeout()clearTimeout()

var a='';
$(':text').on('input', function(){
    clearTimeout(a);

    a = setTimeout(function(){
           console.log('done');
        },500);
});

Fiddle

答案 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;
}