(addEvent, removeEvent)
| 3692 | } }; |
| 3693 | function 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 | } |
| 3727 | function extend$i(scheduler2) { |
no test coverage detected