MCPcopy Index your code
hub / github.com/angular-ui/ui-router / eventHandler

Function eventHandler

test/angular/1.3/angular.js:3010–3050  ·  view source on GitHub ↗
(event, type)

Source from the content-addressed store, hash-verified

3008
3009function createEventHandler(element, events) {
3010 var eventHandler = function(event, type) {
3011 // jQuery specific api
3012 event.isDefaultPrevented = function() {
3013 return event.defaultPrevented;
3014 };
3015
3016 var eventFns = events[type || event.type];
3017 var eventFnsLength = eventFns ? eventFns.length : 0;
3018
3019 if (!eventFnsLength) return;
3020
3021 if (isUndefined(event.immediatePropagationStopped)) {
3022 var originalStopImmediatePropagation = event.stopImmediatePropagation;
3023 event.stopImmediatePropagation = function() {
3024 event.immediatePropagationStopped = true;
3025
3026 if (event.stopPropagation) {
3027 event.stopPropagation();
3028 }
3029
3030 if (originalStopImmediatePropagation) {
3031 originalStopImmediatePropagation.call(event);
3032 }
3033 };
3034 }
3035
3036 event.isImmediatePropagationStopped = function() {
3037 return event.immediatePropagationStopped === true;
3038 };
3039
3040 // Copy event handlers in case event handlers array is modified during execution.
3041 if ((eventFnsLength > 1)) {
3042 eventFns = shallowCopy(eventFns);
3043 }
3044
3045 for (var i = 0; i < eventFnsLength; i++) {
3046 if (!event.isImmediatePropagationStopped()) {
3047 eventFns[i].call(element, event);
3048 }
3049 }
3050 };
3051
3052 // TODO: this is a hack for angularMocks/clearDataCache that makes it possible to deregister all
3053 // events on `element`

Callers

nothing calls this directly

Calls 2

isUndefinedFunction · 0.70
shallowCopyFunction · 0.70

Tested by

no test coverage detected