Событие ввода срабатывает в Internet Explorer при изменении заполнителя

Как показано в этом примере jsfiddle, когда я меняю местозаполнитель, он вызывает событие ввода. Я проверил это на версии IE 11, но я думаю, что более старые версии имеют ту же проблему Другие браузеры не ведут себя так. Это ошибка IE? Если да, то как обходить эту проблему в IE?

Вот 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 ответ

Проверки направленности ввода должно быть достаточно

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

это также "исправляет" событие ввода, инициируемое без каких-либо действий, когда заполнитель содержит акцентированный символ

Другие вопросы по тегам