»
EnglishFrenchVietnamese

Print - Rock Solid addEvent() - JavaScriptBank.com

Full version: jsB@nk » Snippet » Rock Solid addEvent()
URL: https://www.javascriptbank.com/rock-solid-addevent.html

Rock Solid addEvent() © JavaScriptBank.comUsually, 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



JavaScript
<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-->