Событие ввода срабатывает в 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');
});
это также "исправляет" событие ввода, инициируемое без каких-либо действий, когда заполнитель содержит акцентированный символ