2011-08-08 2 views
1

DOM 요소가 페이지에 동적으로 추가 된 다음 jQuery의 $("#id").remove()을 사용하여 제거 된 경우 콜백을 설정할 수 있으므로 요소가 제거되면 사용자 지정 작업을 실행할 수 있습니다.DOM 트리에서 요소를 제거 할 때 콜백이 필요합니까?

나는 원숭이 패치 jQuery의 remove() 방법을 생각했다, 그래서 나는 콜백을 요소의 ID를 확인하고 내가 원하는 것과 일치하는 경우, 실행할 수 있습니다,하지만 난 방법확실하지 않다.

더 좋은 방법이 있습니까? 원숭이 패치를 사용하면 어떻게 할 수 있습니까?

(기본 구현을 나는 그리스 몽키 스크립트를 쓰고 있어요, 나는 변경할 수 없습니다)

답변

3

당신은 DOMNodeRemoved 이벤트를 수신 한 다음 필요한 요소에 의해 필터링 할 수 있습니다. http://www.bennadel.com/blog/1623-Ask-Ben-Detecting-When-DOM-Elements-Have-Been-Removed-With-jQuery.htm

+0

'DOMNodeRemoved' : :. * "** **이 기능은 웹에서 제거 된 사용되지 않는 비록 일부 브라우저 평소처럼

$("body").bind("DOMNodeRemoved", function(e){ if(e.target.id == "id") { // do something } }); 

가하는 IE에만주의가있다, 그래서이 게시물을 체크 아웃 여전히 그것을 지원할 수 있습니다, 그것은 떨어지는 과정에 있습니다. 오래된 프로젝트 또는 새로운 프로젝트에서 그것을 사용하지 마십시오. 그것을 사용하는 페이지 또는 웹 애플 리케이션은 언제든지 중단 될 수 있습니다 ... [Mutation Observers] (https : // developer. 가능한 경우 대신 mozilla.org/en-US/docs/Web/API/MutationObserver)를 사용하십시오. "* - 출처 : https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events – Pang

+0

@ 격통 : 예를 보내어 답변을 향상 시키십시오. – Mrchief

관련 문제