【问题标题】:IE not firing input event on deletionIE 在删除时不触发输入事件
【发布时间】:2013-01-20 19:08:47
【问题描述】:

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

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

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

我了解到这可能是一个已知问题。如果是这样,有什么解决方法吗?

感谢您的帮助。

【问题讨论】:

  • 使用更改事件而不是输入

标签: javascript jquery internet-explorer input


【解决方案1】:

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

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
});

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-13
      • 2020-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多