如果您轉到http://www.elemovements.com並嘗試單擊第一篇文章中的「閱讀更多......」,它將與單擊存檔中的同一鏈接一起工作。這一切都由這個代碼塊來處理......這很麻煩,是的,但我一直在努力想辦法做到這一點。jQuery .on()在加載不同內容後無法工作
(function() {
var $Body = $("#news .inner");
var $Title = $("#news .title");
var strNewsURL = "<?=URL_NEWS?>";
$(document).on("click", "a:contains(Read More...)", function(event) {
var strOld = $Body.html();
var strURL = $(this).attr("href").replace("index.php", strNewsURL);
//var strBackURL = strURL.match(/archive.php/) ? "archive.php?xnewsaction=getnews&newsarch=" + getURLVars(strURL)['newsarch'] : strNewsURL;
$Body.slideUp(100);
$.get(
strURL,
objNHF,
function(strData) {
$Body.html(strData + '<a class="back"><?=TEXT_BACK?></a>').slideDown(1000, "easeOutBounce");
$(document).on("click", "#news a.back", function(event) {
$Body.slideUp(100, function() {
$(this).html(strOld);
}).slideDown(1000, "easeOutBounce");;
event.preventDefault();
});
}
);
track(strURL);
event.preventDefault();
});
})();
如果嘗試加載其他頁面(比方說,「聯繫方式」),然後點擊「首頁」再次觸發該事件,但沒有內容加載到股利。我在這裏做錯了什麼?非常令人費解。
**我只是試圖在同一時間發佈!**哈哈。不幸的是,我的名聲不允許我回答我自己的問題,所以,爲你而忙。不管怎麼說,還是要謝謝你。 – 2012-01-31 02:25:26
但是,我也遇到了一個新問題(唉)。不是用戶會這樣做,但如果您多次點擊「閱讀更多...」,並在第二次或更高的運行時點擊「<<返回」,內容會減少您曾經去過的次數。事件肯定會越來越激烈。任何人? – 2012-01-31 02:30:22
啊,這是因爲'a.back'處理程序應該是一個簡單的'click()',而不是'on()'。感謝大家。 – 2012-01-31 02:44:35