Похоже, что в IE некоторые делегаты могут каким-то образом заставить другой делегат не работать.
Это один из возможных случаев:
<html>
<head>
<script src='jquery-1.4.2.min.js'></script>
<script>
$(function() {
$('#main')
.delegate('div', 'click', function() {
alert('on div!');
})
.delegate('[name=first]', 'change', function() {
alert('first!');
})
.delegate('[name=second]', 'change', function() {
alert('second!');
})
;
});
</script>
</head>
<body>
<div id="main">
<input name="first" />
<input name="second" type="checkbox" />
<div>Test</div>
</div>
</body>
</html>
В этом конкретном случае обработчик дляфлажок не будет срабатывать.
Как обычно, проблема не отображается в других браузерах.
Изменение порядка вызовов может решить проблему, но может вызвать другую.Обратите внимание, что делегат работает на взаимоисключающих элементах, поэтому порядок не должен иметь значения.
Что вызывает это?