(addEvent, removeEvent)
| 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) { |
no test coverage detected