IE在删除时不触发输入事件

时间:2013-01-20 19:08:48

标签: javascript jquery internet-explorer input

我正在尝试将一些占位符放在表单中。它们在Chrome和Firefox中运行良好,但我无法让它们在IE上运行(我正在用IE9测试它)。问题是输入事件仅在向输入添加文本时触发,而不是在删除时触发(使用删除键,剪切,右键单击等)。

这是我的代码(使用jQuery):

$input.on('input propertychange', function() {
    if($input.val() == '')
        $placeholder.show();
    else $placeholder.hide();
});

我读到这可能是一个已知问题。如果是,有任何解决方法吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

如果你想检查特殊键,你应该使用键盘:

http://api.jquery.com/keyup/

$('input').keyup(function(e){
   if (e.keyCode == 13)
      console.log('enter!');  
});

如果您只想在任何更改中触发事件,您应该使用更改事件:

http://api.jquery.com/change/

$('input').change(function(){
   //When it changes
});

答案 1 :(得分:0)

尝试使用keyup事件。这会在每次用户释放一个键时进行检查,因此对按下删除和剪切键组合等进行相当一致的检查。