У меня проблема в IE6/7, где они игнорируют привязку элементов в реальном времени. Кажется, я не могу найти решение этой проблемы, и мне действительно нужна поддержка как IE6, так и 7 (исправление должно в любом случае исправить другое). Первый щелчок моих элементов работает по назначению, но послесловие связывание исчезает, и я не могу заставить его работать. Этого не происходит в IE8 или других существующих браузерах.Проблема с явным вызовом jQuery с IE6/7
Вот мой код. Как вы можете видеть, в строке 5 я предупреждаю переменную hrefID. После первого щелчка hrefID ясно показывает мне, что привязка исчезает, когда он печатает href, который совершенно другой.
Может ли кто-нибудь помочь?
// AJAX Page Changing
$("#mContainer a:lt(6),#home a").live("click", function(){
var clickID = 0;
var hrefID = $(this).attr("href");
alert(hrefID);
switch(hrefID){
case 'home':
clickID = 0;
break;
case 'portfolio':
clickID = 1;
break;
case 'resume':
clickID = 2;
break;
case 'about':
clickID = 3;
break;
case 'contact':
clickID = 4;
break;
case 'tutorials':
clickID = 5;
break;
}
$.ajax({
type: 'POST',
url: "/includes/pages/"+hrefID+".php",
data: "ajaxtab=1",
cache: false,
success: function(code){
// Change Tab Image
var expireDate = new Date(new Date().getTime()+86400000*5); //5 Days
document.cookie = "soluml="+hrefID+";expires="+expireDate.toGMTString();
$("#body").fadeTo("fast", 0, function(){$("#body").html(code);});
$("#body").fadeTo("fast", 1);
$.post("/includes/topnav.php",{ajaxtab:clickID},function(data){$("#mContainer").html(data)});
},
error: function(){
return true;
}
});
return false;
});
//
Вы должны использовать в прямом эфире()? Работает ли он, если вы замените live() на bind()? –