Binding events
EU.addHandler = function(element,type,handler){ //DOM2 level event processing, IE9 also supports if(element.addEventListener){ element.addEventListener(type,handler,false); } else if(element.attachEvent){ //type plus 'on' //IE9 can also bind element.attachEvent('on' + type,handler); } //DOM0 level event processing step, event stream is also bubbled else{ element['on' + type] = handler; }};Unbind event
It is basically the same as the handling of binding events, there is a point of attention:
The handler passed in must be the same as the one passed in when the event is bound (pointing to the same function)
EU.removeHandler = function(element,type,handler){ if(element.removeEventListener){ element.removeEventListener(type,handler); } else if(element.attachEvent){ element.detachEvent('on' + type,handler); } else{ //You can empty the attribute element['on' + type] = null; }};Add events across browsers
function addEvent(obj,type,fn){ if(obj.addEventListener){ obj.addEventListener(type,fn,false); }else if(obj.attachEvent){//IE obj.attchEvent('on'+type,fn); } }Cross-browser removal event
function removeEvent(obj,type,fn){ if(obj.removeEventListener){ obj.removeEventListener(type,fn,false); }else if(obj.detachEvent){//Compatible with IE obj.detachEvent('on'+type,fn); }}Block default behavior across browsers
function preDef(ev){ var e = ev || window.event; if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue =false; } }Get target object across browsers
function getTarget(ev){ if(ev.target){//w3c return ev.target; }else if(window.event.srcElement){//IE return window.event.srcElement; }}Get scrollbar position across browsers
//Get scrollbar position across browsers, sp == scroll position function getSP(){ return{ top: document.documentElement.scrollTop || document.body.scrollTop, left : document.documentElement.scrollLeft || document.body.scrollLeft; } }Get the visible window size across browsers
function getWindow () { if(typeof window.innerWidth !='undefined') { return{ width : window.innerWidth, height : window.innerHeight } } else{ return { width : document.documentElement.clientWidth, height : document.documentElement.clientHeight } } },