(event, type)
| 1959 | |
| 1960 | function 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 | } |
nothing calls this directly
no test coverage detected