無限スクロール サイトをモバイル デバイスに移植しようとしています。AJAX スクロールを無効にして、AJAX の「その他」ボタンに置き換えます。最初のクリック イベントを「その他」ボタンの後続のインスタンスにバインドする方法を理解するのに問題があります。
私はまだプログラミングに慣れていませんが、何かを 2 回行うと間違っていることを十分に理解しています。.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
各呼び出しでコンテナーの末尾に追加されたものの一部であることを追加する必要があります。私が現在セットアップしている方法では、3 回目の呼び出しで機能が壊れます。