Angenommen, ich hatte ein div#parent und ich append und remove Elemente mit jquery. Wie kann ich erkennen, wann ein solches Ereignis im Element div#parent auftritt?

60
Derek 23 Nov. 2013 im 03:34

2 Antworten

Verwenden Sie keine Mutationsereignisse wie DOMNodeInserted und DOMNodeRemoved.

Verwenden Sie stattdessen DOM Mutationsbeobachter, die in allen modernen Versionen unterstützt werden Browser außer IE10 und niedriger (Kann ich verwenden). Mutationsbeobachter sollen Mutationsereignisse ersetzen (die veraltet sind), da sie aufgrund von Designfehler.

var x = new MutationObserver(function (e) {
  if (e[0].removedNodes) console.log(1);
});

x.observe(document.getElementById('parent'), { childList: true });
95
Qantas 94 Heavy 9 Apr. 2015 im 03:11

Sie sollten das Ereignis DOMSubtreeModified binden

$("#parent").bind("DOMSubtreeModified",function(){
  console.log('changed');
});

http://jsfiddle.net/WQeM3/

3
mdolbin 22 Nov. 2013 im 23:39