1// addEventListener polyfill IE6+ 2// https://gist.github.com/jonathantneal/2869388 3!window.addEventListener && (function (window, document) { 4 function Event(e, element) { 5 var instance = this; 6 7 for (property in e) { 8 instance[property] = e[property]; 9 } 10 11 instance.currentTarget = element; 12 instance.target = e.srcElement || element; 13 instance.timeStamp = +new Date; 14 15 instance.preventDefault = function () { 16 e.returnValue = false; 17 }; 18 instance.stopPropagation = function () { 19 e.cancelBubble = true; 20 }; 21 } 22 23 function addEventListener(type, listener) { 24 var 25 element = this, 26 listeners = element.listeners = element.listeners || [], 27 index = listeners.push([listener, function (e) { 28 listener.call(element, new Event(e, element)); 29 }]) - 1; 30 31 element.attachEvent('on' + type, listeners[index][1]); 32 } 33 34 function removeEventListener(type, listener) { 35 for (var element = this, listeners = element.listeners || [], length = listeners.length, index = 0; index < length; ++index) { 36 if (listeners[index][0] === listener) { 37 element.detachEvent('on' + type, listeners[index][1]); 38 } 39 } 40 } 41 42 window.addEventListener = document.addEventListener = addEventListener; 43 window.removeEventListener = document.removeEventListener = removeEventListener; 44 45 if ('Element' in window) { 46 Element.prototype.addEventListener = addEventListener; 47 Element.prototype.removeEventListener = removeEventListener; 48 } else { 49 var 50 head = document.getElementsByTagName('head')[0], 51 style = document.createElement('style'); 52 53 head.insertBefore(style, head.firstChild); 54 55 style.styleSheet.cssText = '*{-ms-event-prototype:expression(!this.addEventListener&&(this.addEventListener=addEventListener)&&(this.removeEventListener=removeEventListener))}'; 56 } 57})(window, document) && scrollBy(0, 0);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.