IE7 и IE8 изменяют событие, которое не генерируется для ввода текста - PullRequest
1 голос
/ 18 июня 2010

У меня есть форма, которую я автоматически фокусирую при запуске страницы с помощью jquery. У меня также есть обработчики событий для каждого изменения входных данных.

Если я изменю значение первого поля, которое было автофокусировано, а затем перейду к следующему полю, обработчик события изменения не сработает. Если я удаляю автофокусировку и просто фокусируюсь вручную, затем меняю ее, затем перехожу к следующему полю, событие изменения срабатывает.

Это происходит только в IE. Отлично работает на firefox и chrome.

Кто-нибудь испытывал это раньше?

КОД:

$('#firstinput').focus();

$('input').live('change', function (){
  alert("changeevent!");
});

ОБНОВЛЕНИЕ: Должно быть, что-то более сложное, чем просто это, потому что я сам проверил это, и оно работало просто отлично. На реальной странице у меня есть плагин валидатора, который, вероятно, как-то мешает. Когда я использовал плагин валидатора на тестовой странице, у него была та же проблема.

UPDATE2: Я сузил строку кода, которая вызывает это. Добавить

$('#firstinput').bind('change', function() {});

и IE демонстрирует плохое поведение.

1 Ответ

1 голос
/ 18 июня 2010

Я протестировал ваш код на IE7 и IE8 и работает отлично, может быть, есть что-то еще ...

Что если вместо

$('#firstinput').focus();

вы используете

$('#firstinput').click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...