Он работает в простых тестах (см. Ниже), даже с IE6, поэтому мы смотрим на что-то конкретное для вашей страницы.
Мысли:
1) IE, в частности IE6, есть проблемы , смешивающие вместе пространства имен , у вас есть что-нибудь на странице с именем "content" или "img_id", отличным от указанного выше?Любые глобальные переменные?Атрибут name
в поле?
2) Вы абсолютно уверены, что код, устанавливающий обработчик live
, выполняется в IE?В IE есть проблемы с некоторыми синтаксическими особенностями, которых нет в некоторых других браузерах (например, запятые в литералах объекта), поэтому необходимо убедиться, что скрипт выполняет синтаксический анализ правильно.
Простой тест,без DOCTYPE (это, похоже, не имеет значения), без HTML5 и т. д.: * 10101 *
HTML:
<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>Test Page</title>
</head>
<body>
<div id='container'></div>
</body>
</html>
JavaScript:
jQuery(function($) {
display("Setting live handler");
$("#img_id").live('click',function(){
$("#content").slideUp('fast');
});
display("Loading content from http://jsbin.com/ihuki3...");
$("#container").load("http://jsbin.com/ihuki3", function(xhr, statusText) {
display("Done loading, status = " + statusText);
});
function display(msg) {
$("<p/>").html(msg).appendTo(document.body);
}
});
Живая копия * Живая копия с DOCTYPE