MCPcopy Create free account
hub / github.com/DHTMLX/scheduler / domEvents

Function domEvents

codebase/sources/dhtmlxscheduler.js:3698–3728  ·  view source on GitHub ↗
(addEvent, removeEvent)

Source from the content-addressed store, hash-verified

3696 } };
3697 function createEventScope() {
3698 var domEvents = function(addEvent, removeEvent) {
3699 addEvent = addEvent || defaultDomEvents.event;
3700 removeEvent = removeEvent || defaultDomEvents.eventRemove;
3701 var handlers = [];
3702 var eventScope = { attach: function(el, event2, callback, capture) {
3703 handlers.push({ element: el, event: event2, callback, capture });
3704 addEvent(el, event2, callback, capture);
3705 }, detach: function(el, event2, callback, capture) {
3706 removeEvent(el, event2, callback, capture);
3707 for (var i = 0; i < handlers.length; i++) {
3708 var handler = handlers[i];
3709 if (handler.element === el && handler.event === event2 && handler.callback === callback && handler.capture === capture) {
3710 handlers.splice(i, 1);
3711 i--;
3712 }
3713 }
3714 }, detachAll: function() {
3715 var staticArray = handlers.slice();
3716 for (var i = 0; i < staticArray.length; i++) {
3717 var handler = staticArray[i];
3718 eventScope.detach(handler.element, handler.event, handler.callback, handler.capture);
3719 eventScope.detach(handler.element, handler.event, handler.callback, void 0);
3720 eventScope.detach(handler.element, handler.event, handler.callback, false);
3721 eventScope.detach(handler.element, handler.event, handler.callback, true);
3722 }
3723 handlers.splice(0, handlers.length);
3724 }, extend: function() {
3725 return domEvents(this.event, this.eventRemove);
3726 } };
3727 return eventScope;
3728 };
3729 return domEvents();
3730 }
3731 function extend$i(scheduler2) {

Callers 1

createEventScopeFunction · 0.70

Calls 1

detachMethod · 0.45

Tested by

no test coverage detected