Used MutationObserver

pull/279/head
Halil İbrahim Kalkan 8 years ago
parent aeda5527af
commit d84bf38844

@ -7,24 +7,53 @@ var abp = abp || {};
abp.dom = abp.dom || {};
abp.dom.onElementLoaded = function (callback) {
abp.event.on('abp.dom.elementLoaded', callback);
abp.dom.onNodeAdded = function (callback) {
abp.event.on('abp.dom.nodeAdded', callback);
};
abp.dom.elementLoaded = function(args) {
abp.event.trigger('abp.dom.elementLoaded', args);
}
abp.dom.onElementUnloaded = function (callback) {
abp.event.on('abp.dom.elementUnloaded', callback);
abp.dom.onNodeRemoved = function (callback) {
abp.event.on('abp.dom.nodeRemoved', callback);
};
abp.dom.elementUnloaded = function (args) {
abp.event.trigger('abp.dom.elementUnloaded', args);
}
$.fn.findWithSelf = function (selector) {
return this.filter(selector).add(this.find(selector));
};
var mutationObserverCallback = function(mutationsList) {
for (var i = 0; i < mutationsList.length; i++) {
var mutation = mutationsList[i];
if (mutation.type === 'childList') {
if (mutation.addedNodes && mutation.removedNodes.length) {
for (var k = 0; k < mutation.removedNodes.length; k++) {
abp.event.trigger(
'abp.dom.nodeRemoved',
{
$el: $(mutation.removedNodes[k])
}
);
}
}
if (mutation.addedNodes && mutation.addedNodes.length) {
for (var j = 0; j < mutation.addedNodes.length; j++) {
abp.event.trigger(
'abp.dom.nodeAdded',
{
$el: $(mutation.addedNodes[j])
}
);
}
}
}
}
};
new MutationObserver(mutationObserverCallback).observe(
$('body')[0],
{
subtree: true,
childList: true
}
);
})(jQuery);
Loading…
Cancel
Save