我有一个昂贵的自定义事件(由 MutationObserver
或通过轮询生成)。
它类似于 http://meetselva.github.io/attrchange/ .
我只想在给定元素上有此事件的订阅者时进行观察/轮询。
与 jQuery 集成的正确方法是什么,以便我可以在订阅/取消订阅自定义事件时收到通知?
最佳答案
我认为没有直接的方法可以做到这一点......
我可以提出的一个解决方案是使用实用方法来注册/取消注册处理程序......类似于
var MyUtils = (function () {
var counter = 0;
function handlerPresent() {
//do somethig to fire the event
}
function handlerRemoved() {
//do somethig to clear the firing
}
return {
register: function (el, handler) {
el.on('myevent', handler);
counter++;
if (counter == 1) {
handlerPresent();
}
},
deregister: function (el, handler) {
el.off('myevent', handler);
counter--;
if (counter == 0) {
handlerRemoved();
}
}
}
})();
关于jquery - 使用 jQuery 设计昂贵的自定义事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23483678/