MCPcopy Create free account
hub / github.com/apache/cloudstack / eventHandler

Function eventHandler

tools/ngui/static/js/lib/angular.js:1961–2008  ·  view source on GitHub ↗
(event, type)

Source from the content-addressed store, hash-verified

1959
1960function createEventHandler(element, events) {
1961 var eventHandler = function (event, type) {
1962 if (!event.preventDefault) {
1963 event.preventDefault = function() {
1964 event.returnValue = false; //ie
1965 };
1966 }
1967
1968 if (!event.stopPropagation) {
1969 event.stopPropagation = function() {
1970 event.cancelBubble = true; //ie
1971 };
1972 }
1973
1974 if (!event.target) {
1975 event.target = event.srcElement || document;
1976 }
1977
1978 if (isUndefined(event.defaultPrevented)) {
1979 var prevent = event.preventDefault;
1980 event.preventDefault = function() {
1981 event.defaultPrevented = true;
1982 prevent.call(event);
1983 };
1984 event.defaultPrevented = false;
1985 }
1986
1987 event.isDefaultPrevented = function() {
1988 return event.defaultPrevented;
1989 };
1990
1991 forEach(events[type || event.type], function(fn) {
1992 fn.call(element, event);
1993 });
1994
1995 // Remove monkey-patched methods (IE),
1996 // as they would cause memory leaks in IE8.
1997 if (msie <= 8) {
1998 // IE7/8 does not allow to delete property on native object
1999 event.preventDefault = null;
2000 event.stopPropagation = null;
2001 event.isDefaultPrevented = null;
2002 } else {
2003 // It shouldn't affect normal browsers (native methods are defined on prototype).
2004 delete event.preventDefault;
2005 delete event.stopPropagation;
2006 delete event.isDefaultPrevented;
2007 }
2008 };
2009 eventHandler.elem = element;
2010 return eventHandler;
2011}

Callers

nothing calls this directly

Calls 3

isUndefinedFunction · 0.85
forEachFunction · 0.85
callMethod · 0.45

Tested by

no test coverage detected