Full version: jsB@nk » Snippet » Rock Solid addEvent()
URL: https://www.javascriptbank.com/rock-solid-addevent.html
Usually, when one event loads, it writes over any previous ones. Using this snippet, you can add several events to one page without any problems.
Full version: jsB@nk » Snippet » Rock Solid addEvent()
URL: https://www.javascriptbank.com/rock-solid-addevent.html
<script language="javascript"><!-- Add the following snippet to your basic JavaScript file -->/* Created by Dustin Diazhttp://www.dustindiaz.com/ */function addEvent(obj, type, fn) { if (obj.addEventListener) { obj.addEventListener(type, fn, false); EventCache.add(obj, type, fn); } else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj[type+fn] = function() {obj["e"+type+fn](window.event);} obj.attachEvent("on"+type, obj[type+fn]); EventCache.add(obj, type, fn); } else { obj["on"+type] = obj["e"+type+fn]; }}var EventCache = function(){ var listEvents = []; return { listEvents : listEvents, add : function(node, sEventName, fHandler){ listEvents.push(arguments); }, flush : function(){ var i, item; for(i = listEvents.length - 1; i >= 0; i = i - 1){ item = listEvents[i]; if(item[0].removeEventListener){ item[0].removeEventListener(item[1], item[2], item[3]); }; if(item[1].substring(0, 2) != "on"){ item[1] = "on" + item[1]; }; if(item[0].detachEvent){ item[0].detachEvent(item[1], item[2]); }; item[0][item[1]] = null; }; } };}();addEvent(window,'unload',EventCache.flush);</script><!-- This script downloaded from www.JavaScriptBank.com Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->