私はjqueryを初めて使用し、これが単純な問題であることを望んでいますが、アイデアが不足しています。
私は.netを使用していて、ユーザーをフォローするための以下のようなカスタムjquery関数をいくつか含むページがあります。これは、ページが最初に読み込まれるときに完全に正常に機能します。
この問題は、別のページに投稿して結果を追加する無限スクロールに伴うものです。その投稿されたページに以下の関数を再度含めずに結果を追加すると、新しく追加されたリンクをクリックしたときにイベントが発生することはありません。しかし、これとまったく同じスニペットを再度含めると、正しく機能します。ページ上の以前のすべてのリンクが余分な時間を起動することを除いて。
したがって、5ページのデータを下にスクロールして、ページの最初のリンクをクリックすると、6回起動するようになりました。私が追加した最新のものは一度だけ発砲します。
デバウンスとスロットリングについていくつかのことがわかりますが、これはそれよりもさらに単純なようです-この関数を一度だけロードして、追加されたデータに対して機能させる方法はありませんか?
$(document).ready(function () {
$('a.FollowJQ').click(function () {
var username = $(this).attr('data');
$.post('/jquery/follow.aspx',{ user: username },
function (data) {
if (!data.error) {
if (data.server == 'SendToLoginPage') { window.location = "/login.aspx" }
else { $('a.FollowJQ:[data=' + username + ']').html(data.server); } }
else { $('a.FollowJQ:[data=' + username + ']').html(data.server); }
}, 'json');
});
});