jquery IE8 - использование live ('blur', function) и live ('change', function) вместе - PullRequest
4 голосов
/ 21 мая 2011

Хорошо, у меня странная проблема с 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>

С кодом, как есть, я не могу заставить обработчик события изменения срабатывать после редактирования поля ввода.Однако, если я закомментирую обработчик событий размытия, произойдет изменение при внесении изменений.

Почему IE8 делает это?Что нужно сделать, чтобы как на размытие, так и на изменение работали одновременно во всех браузерах?

1 Ответ

4 голосов
/ 21 мая 2011

jQuery tools включает более раннюю версию jQuery v1.4.2.Похоже, в IE8 есть ошибка, которая нарушает предполагаемую функциональность.При обновлении до v1.6.1 оба события запускаются в IE8.Я протестировал более старые версии jQuery, и все, что было сломано, было исправлено в v1.4.3, поэтому, если вы не можете выполнить обновление основной версии по какой-либо причине, то, надеюсь, обновление небольшой версии будет в порядке.

...