DOMNodeInserted цикл обработки событий

Я разрабатываю расширение для Chrome (мой четвертый вопрос или около того ...) для Facebook, в котором добавляется настраиваемая кнопка рядом с & quot; like & quot; кнопка. Поскольку сообщения добавляются в ленту новостей автоматически без обновления страницы, я должен добавлять скрипт при каждом добавлении новых сообщений.

И я пользуюсь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();
});

Вы можете увидеть мой предыдущий вопросВот

Я устал задавать вопросы, поэтому буду очень признателен за любой ответ / комментарий!

Ответы на вопрос(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();
});

Ваш ответ на вопрос