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

Function domEvents

codebase/sources/dhtmlxscheduler.es.js:3694–3724  ·  view source on GitHub ↗
(addEvent, removeEvent)

Source from the content-addressed store, hash-verified

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

Callers 1

createEventScopeFunction · 0.70

Calls 1

detachMethod · 0.45

Tested by

no test coverage detected