cncjs
1class ResizeObserver {2callback = null;3
4observer = null;5
6constructor(callback) {7if (typeof callback === 'function') {8this.callback = callback;9}10return this;11}12
13observe(target) {14if (this.observer) {15this.observer.disconnect();16this.observer = null;17}18
19this.callback && this.callback();20
21this.observer = new MutationObserver(mutations => {22this.callback && this.callback();23});24
25this.observer.observe(target, {26attributes: true,27attributeOldValue: false,28characterData: true,29characterDataOldValue: false,30childList: true,31subtree: true32});33}34
35disconnect() {36if (this.observer) {37this.observer.disconnect();38this.observer = null;39}40}41}
42
43export default ResizeObserver;44