1

"좋아요"버튼 옆에 맞춤 검색 버튼을 추가하는 Facebook 용 크롬 확장 프로그램 (내 네 번째 질문 등)을 개발 중입니다. 게시물이 페이지 새로 고침없이 뉴스 피드에 자동으로 추가되므로 새 게시물이 추가 될 때마다 스크립트를 추가해야합니다.DOMNodeInserted 이벤트 루프

그리고 나는 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(); 
}); 

당신이 볼 수있는 내 앞의 질문 here

나는 내가 어떤 대답을 주셔서 감사합니다 정말 것이다 있도록 질문을 피곤/코멘트!

+0

여기서 [liveQuery] (http://docs.jquery.com/Plugins/livequery) 플러그인을 사용할 수 있습니다. 그럼 다시,이 이벤트를 사용하지 않는 것 같습니다. – Eric

답변

1

이 방법이 유용합니까? 더 이상 .like_link 요소를 삽입하지 않는다면 요소 삽입이 발생할 때 no-op 여야합니다. .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(); 
}); 
+0

정말 고마워요. –