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

IE not firing input event on deletion

本文关键字:输入 入事件 删除 IE      更新时间:2023-09-26

我试图把一些占位符的形式。它们在Chrome和Firefox中工作得很好,但我不能让它们在IE上工作(我正在用IE9进行测试)。问题是输入事件只在向输入中添加文本时触发,而在删除(使用删除键、剪切、右键单击等)时不会触发。

这是我的代码(使用jQuery):
$input.on('input propertychange', function() {
    if($input.val() == '')
        $placeholder.show();
    else $placeholder.hide();
});

我读到这可能是一个已知的问题。如果是这样,有什么变通办法吗?

谢谢你的帮助。

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

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

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

如果你只是想在任何更改时触发一个事件,你应该使用change event:

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

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

尝试使用keyup事件。这将在每次用户释放一个键时进行检查,因此对于按下delete和cut键组合等,它是一个相当一致的检查。