我正在尝试将无限滚动站点移植到移动设备,禁用 AJAX 滚动并用 AJAX“更多”按钮替换它。我在理解如何将初始点击事件绑定到“更多”按钮的后续实例时遇到问题。
我在编程方面仍然很陌生,但我知道如果我做了两次,那就错了。当它们被动态添加到页面时,如何将 .on() 内部的事件绑定到“更多”的每个实例?
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
每次调用时附加到容器末尾的一部分。按照我目前的设置方式,功能在第三次调用时中断。