2011-10-20 33 views
3

我有这个代码在Firefox中完美工作。DOMSubtreeModified不能在铬

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 

<title></title> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> 
<script type="text/javascript"> 
    function CreateEvent() 
     { 
     var x = document.createEvent("MutationEvent"); 
     x.initMutationEvent("DOMSubtreeModified", true, false, null, "", "", "", 0); 
     document.dispatchEvent(x); 
     } 
    $(document).ready(function() { 

     $('#myDiv')[0].addEventListener('DOMNodeRemoved', function() { console.log('Content removed!'); }, false); 
     $('#myDiv')[0].addEventListener('DOMSubtreeModified', function() { console.log('DOMSubtreeModified modified!'); }, false); 
     $('#myDiv')[0].addEventListener('DOMNodeRemovedFromDocument', function() { console.log('DOMNodeRemovedFromDocument !'); }, false); 
     $('#myDiv')[0].addEventListener('DOMNodeInserted', function() { console.log('DOMNodeInserted !'); }, false); 

     $('#myBtn').click(function (e) { 

      $('#myDiv').css({ marginLeft : "300px"}); 
     }); 
    }); 

</script> 
</head> 
<body> 
<div id="myDiv">Content</div> 
<div id="myBtn"> 
    Button 
</div> 
</body> 
</html> 

但它不适用于Chrome。我希望每次发生myDiv事件时都会触发一个事件。 (删除,css修改,一切)。

任何变通?

+0

看看类似的问题,我问了http://stackoverflow.com/questions/7692730/dom-mutation-event-in-jquery-or-vanilla-javscript。 –

+0

为什么你会期望一个CSS修改来触发你想要处理的事件? –

+1

http://code.google.com/p/chromium/issues/detail?id=59906,http://code.google.com/p/chromium/issues/detail?id=30191 – Dev

回答