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

Function eventHandler

lib/test/angular/1.4.3/angular.js:3234–3274  ·  view source on GitHub ↗
(event, type)

Source from the content-addressed store, hash-verified

3232
3233function createEventHandler(element, events) {
3234 var eventHandler = function(event, type) {
3235 // jQuery specific api
3236 event.isDefaultPrevented = function() {
3237 return event.defaultPrevented;
3238 };
3239
3240 var eventFns = events[type || event.type];
3241 var eventFnsLength = eventFns ? eventFns.length : 0;
3242
3243 if (!eventFnsLength) return;
3244
3245 if (isUndefined(event.immediatePropagationStopped)) {
3246 var originalStopImmediatePropagation = event.stopImmediatePropagation;
3247 event.stopImmediatePropagation = function() {
3248 event.immediatePropagationStopped = true;
3249
3250 if (event.stopPropagation) {
3251 event.stopPropagation();
3252 }
3253
3254 if (originalStopImmediatePropagation) {
3255 originalStopImmediatePropagation.call(event);
3256 }
3257 };
3258 }
3259
3260 event.isImmediatePropagationStopped = function() {
3261 return event.immediatePropagationStopped === true;
3262 };
3263
3264 // Copy event handlers in case event handlers array is modified during execution.
3265 if ((eventFnsLength > 1)) {
3266 eventFns = shallowCopy(eventFns);
3267 }
3268
3269 for (var i = 0; i < eventFnsLength; i++) {
3270 if (!event.isImmediatePropagationStopped()) {
3271 eventFns[i].call(element, event);
3272 }
3273 }
3274 };
3275
3276 // TODO: this is a hack for angularMocks/clearDataCache that makes it possible to deregister all
3277 // events on `element`

Callers

nothing calls this directly

Calls 2

isUndefinedFunction · 0.70
shallowCopyFunction · 0.70

Tested by

no test coverage detected