#jquery #internet-explorer-8 #onchange #blur
#jquery #internet-explorer-8 #onchange #размытие
Вопрос:
Хорошо, у меня странная проблема с IE8 и jQuery. Смотрите код ниже:
<!DOCTYPE html>
<html dir="ltr">
<head>
</head>
<body>
<input>
<script type="text/javascript" language="javascript" src="jquery.tools.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('input').live('blur',function(){alert('blur');});
$('input').live('change',function(){alert('change');});
});
</script>
</html>
При существующем коде я не могу запустить обработчик события on change после редактирования поля ввода. Однако, если я закомментирую обработчик события blur, то при изменении сработает.
Почему IE8 это делает? Что я должен сделать, чтобы и on blur, и on change работали одновременно во всех браузерах?
Комментарии:
1. Это неприятный взлом, но, хвае, вы пробовали запускать их оба с задержкой в 0 секунд?
2. please….nooooooooooooo….do У меня действительно тоже есть??? должно быть что-то получше…
3. Я не знаю, действительно ли вам это нужно, но этот взлом задержки очень помог мне в IE8 🙂
Ответ №1:
jQuery tools включает в себя более старую версию jQuery версии 4.2.2. Похоже, в IE8 есть ошибка, которая нарушает вашу предполагаемую функциональность. При обновлении до версии v1.6.1 в IE8 запускаются оба события. Я тестировал старые версии jQuery, и все, что было сломано, было исправлено в версии v1.4.3, поэтому, если вы по какой-либо причине не можете выполнить обновление основной версии, то, надеюсь, обновление младшей версии будет в порядке.