rx-winjs
Version:
Library for composing asynchronous and event-based operations in JavaScript extending the Windows WinJS library
30 lines (23 loc) • 1.19 kB
JavaScript
if (window.MutationObserver) {
/**
* Creates an observable sequence from a Mutation Observer.
* MutationObserver provides developers a way to react to changes in a DOM.
* @example
* Rx.DOM.fromMutationObserver(document.getElementById('foo'), { attributes: true, childList: true, characterData: true });
*
* @param {Object} target The Node on which to obserave DOM mutations.
* @param {Object} options A MutationObserverInit object, specifies which DOM mutations should be reported.
* @returns {Observable} An observable sequence which contains mutations on the given DOM target.
*/
Rx.WinJS.fromMutationObserver = function (target, options) {
return observableCreate(function (observer) {
var mutationObserver = new MutationObserver(function (mutations) {
observer.onNext(mutations);
});
mutationObserver.observe(target, options);
return function () {
mutationObserver.disconnect();
};
});
};
}