1

私はFacebook用のChrome拡張機能(私の4番目の質問かそこら...)を開発しています。これは「いいね」ボタンの横にカスタムボタンを追加します。投稿はページを更新せずにニュースフィードに自動的に追加されるため、新しい投稿が追加されるたびにスクリプトを追加する必要があります。

そして、私はDOMNodeInsertedイベントを使用します。

問題は、イベントが呼び出されたときに、ページに新しい要素(ボタン)を挿入すると、ループが発生することです。

私のスクリプト:

$(document).bind('DOMNodeInserted', function(event) {
    $(".like_link").after('<span class="dot"> · </span><button class="taheles_link stat_elem as_link" title="תגיד תכל&acute;ס" type="submit" name="taheles" onclick="apply_taheles()" data-ft="{&quot;tn&quot;:&quot;&gt;&quot;,&quot;type&quot;:22}"><span class="taheles_default_message">תכל&acute;ס</span><span class="taheles_saving_message">לא תכלס</span></button>');
    $(".taheles_saving_message").hide();
});

ここで私の前の質問を見ることができます

私は質問をするのにうんざりしているので、どんな答え/コメントでも本当に感謝します!

4

1 に答える 1

1

これは機能しますか?これ以上.like_link要素を挿入しない場合、. を含むノードの挿入のみを検索するため、要素の挿入が発生したときにこれはノーオペレーションである必要があります .like_link

$(document).bind('DOMNodeInserted', function(event) {
    $(event.target).find(".like_link").after(
        '<span class="dot"> · </span>' +
        '<button class="taheles_link stat_elem as_link" title="תגיד תכל&acute;ס" type="submit" name="taheles" onclick="apply_taheles()" data-ft="{&quot;tn&quot;:&quot;&gt;&quot;,&quot;type&quot;:22}">' +
            '<span class="taheles_default_message">תכל&acute;ס</span><span class="taheles_saving_message">לא תכלס</span>' +
        '</button>'
    );
    $(event.target).find(".taheles_saving_message").hide();
});
于 2012-05-20T14:33:45.200 に答える