Я провел большое количество исследований по этому вопросу и нашел кучу сообщений о проблемах и решениях, но, по общему мнению, все проблемы с изменениями в IE6 были исправлены в jQuery 1.4.2.
У меня проблема, когда событие изменения не запускается в jQuery 1.4.2, но оно успешно сработало в jQuery 1.3.2. Это в IE6.
Я собираюсь представить ошибку для этого, но для здравого смысла я хотел бы сначала опубликовать ее здесь, чтобы увидеть, что я что-то упустил. Я не понимаю, почему это так работает ...
<HTML>
<HEAD>
<TITLE>jQuery 1.4.2 Problem </TITLE>
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script>
$(document).ready( function() {
$("#firstBox").change(function() {
alert("CHANGE");
});
// ONLOAD of document autofocus into the first element...
$("form").find(":input:visible:first").focus()
});
</script>
</HEAD>
<BODY>
<form>
<select id="firstBox">
<option value="" selected="selected">--</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
<br><br>
<input size="10" id="secondBox">
</form>
</BODY>
</HTML>
Достаточно просто, верно? Загрузите страницу, выделите первый элемент. Замена первого элемента, оповещение.
Если вы используете мышь, она работает как положено. Страница загружается, фокус находится в выпадающем списке, вы меняете опцию, вы получаете предупреждение.
Проблема в том, что вы используете клавиатуру. Страница загружается, фокус находится в выпадающем списке, вы нажимаете стрелку вниз. Опция меняется. Tab с поля, без предупреждения. Weird. Чтобы сделать его еще более странным, если вы вернетесь в поле и измените его снова (все с помощью клавиатуры), событие изменения СЛЕДУЕТ запускать после выхода из табло на этот раз.
Есть идеи?