2022-09-23 18:15:45 +08:00

33 lines
811 B
TypeScript

import log from "../utils/@deprecated/log";
/**
* observe 包装
* @deprecated TODO 泛用模版有性能问题
*/
export default function initOB(dom: Document | Element = document, opt = {}, func = () => {
}, dev = false, once = false) {
//let count = -1;
if (dev) {
const mo = new MutationObserver((mutation) => {
//count++;
log.info(mutation)
mo.disconnect();
func();
if (!once) {
mo.observe(dom, opt)
}
});
func();
mo.observe(dom, opt);
} else {
//count++;
const mo = new MutationObserver(() => {
mo.disconnect();
func();
if (!once) mo.observe(dom, opt)
});
func();
mo.observe(dom, opt)
}
}