如果您转到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