要素のライブ バインディングを無視する IE6/7 の問題があります。この問題の解決策が見つからないようで、IE6 と 7 の両方のサポートが本当に必要です (いずれにせよ、一方を修正すると他方も修正されるはずです)。私の要素の最初のクリックは意図したとおりに機能しますが、その後バインディングがなくなり、機能しなくなります。これは、IE8 やその他の現在のブラウザーでは発生しません。
これが私のコードです。ご覧のとおり、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;
});
//