2014-06-16 1 views
2

Chrome의 개발자 도구는 요소의 속성 또는 DOM 트리가 수정 될 때 자바 스크립트 코드 실행을 중단 할 수있는 옵션을 제공합니다. (요소 검사> 요소 태그 오른쪽 클릭> "중단 ... ...")
그러나 요소의 innerHTML이 JavaScript에 의해 변경되면 코드로 건너 뛰고 싶습니다. 모든 "중단"옵션을 활성화하면이를 수행하지 않으므로이를 수행 할 수있는 방법이 있는지 알고 싶습니다.Chrome의 'innerHTML'변경 사항 중단

답변

1

나는 DOMSubtreeModified 이벤트를 제안하려고합니다.

$("#elem").on("DOMCharacterDataModified", function(){ 
    alert("Modified"); 
}); 

Fiddle

+0

아, 작동합니다. –

+0

제대로 작동하려면 "DOMCharacterDataModified"가 아니고 "DOMCharacterDataMofified"가되어야합니다. –

0

알렉산더의 제안에 따라, 당신은 DOMSubtreeModified를 사용할 수 있습니다. ($ 0 검사 된 요소 인 경우) 그러나
, DOMSubtreeModified가되지 않습니다으로

$0.addEventListener('DOMSubtreeModified', function(){debugger;}); 

, 나는 또한 원하는 밖에서 대안을 던지기. 안타깝게도 내부 HTML이 실제 innerHTML 속성으로 변경된 경우에만 작동합니다.

Object.defineProperty($0, 'innerHTML', {set:function(){debugger;}}) 
+0

오 ... 영리한! Internet Explorer의 최신 버전에서도 작동합니까? 또는 HTMLElement가 여전히 Object로부터 상속받지 못합니까? –

+0

프로덕션 코드에서 아직 사용하지 않을 것입니다 ... http://caniuse.com/#search=Object.defineProperty –