0
我试图将无限滚动网站移植到移动设备,禁用AJAX滚动并用AJAX“更多”按钮替换它。我在理解如何将初始点击事件绑定到“更多”按钮的后续实例时遇到问题。在新添加的AJAX元素上绑定相同的事件
我在编程方面仍然很绿,但是如果我做了两件事就足够了解它是错误的。如何将.on()内部的事件绑定到“more”的每个实例,因为它们是动态添加到页面的?
JS:
$('.more-link').on('click', function(){
var url = $(this).attr('href');
$(this).removeAttr('href');
$(this).remove();
$.get(url, function(data) {
$('.infinite-container').append(data);
// Callback for .on()
}).done(function(){
// Add visibility for "more" buttons
$('.more-link').css({'visibility': 'visible'});
// Here's where I'm repeating myself
$('.more-link').on('click', function(){
var url = $(this).attr('href');
$(this).removeAttr('href');
$(this).remove();
$.get(url, function(data) {
$('.infinite-container').append(data);
})
});
});
});
任何见解和效率,将不胜感激。
编辑:我应该补充说,“更多”链接是在每次调用时追加到容器末尾的data
的一部分。按照我目前设置的方式,第三次调用时功能会中断。