占位符更改时在Internet Explorer上触发输入事件

时间:2014-01-28 12:56:27

标签: javascript html html5

当我更改占位符时,显示在此jsfiddle example中,它会触发输入事件。我在I.E 11版本上测试了它,但我猜旧版本有同样的问题。其他浏览器的行为不像这样。这是I.E的错误吗?如果是这样,在I.E上解决这个问题的方法是什么?

这是html标记。

<input type="text" />
<button>Change PlaceHolder</button>

这是javascript部分。

var i = 0;
$('button').click(function(){
  $('input').attr('placeholder','placeholder ' + i++);
});

$('input').bind('input',function(){
    alert('input even occur');
});

1 个答案:

答案 0 :(得分:3)

检查输入是否足够

$('input').bind('input',function(){
    if($(document.activeElement) != $('input'))
        return;
    alert('input even occur');
});

这也是&#34;修复&#34;当占位符包含重音字符时,触发输入事件而不执行任何操作