javascript 添加和移除函数的通用方法

  //添加函数的方法

  function addEvent( node, type, listener) {

  if( node.addEventListener ){

  // W3C方法(DOM方法)

  //下面语句中的false意思是用于冒泡阶段,若是true则是用于捕获阶段(IE不支持捕获),所以这里用false是一方面的原因是为了统一

  node.addEventListener( type, listener, false );

  return true;

  } else if( node.attachEvent ){

  // MSIE方法(IE方法)

  node['e' + type + listener] = listener;

  node[type + listener] = function (){

  node['e' + type + listener](window.event);

  };

  node.attachEvent('on' + type, node[type + listener]);

  return true;

  }

  //如两种方法都不具备则返回false

  return false;

  }

  //移除函数的方法

  function removeEvent( node, type, listener) {

  if( node.addEventListener ){

  node.removeEventListener( type, listener, false );

  return true;

  } else if( node.detachEvent) {

  node.detachEvent('on' + type, listener);

  return true;

  }

  //如两种方法都不具备则返回false

  return false;

  }

  //添加载入事件的方法如下所示

  1.function addLoadEvent(func){

  var oldonload=window.onload;

  if(typeof window.onload!="function"){

  window.onload=func;

  }else{

  window.onload=function(){

  oldonload();

  func();

  }

  }

  }

  2.//用上面的addEvent方法

  addEvent(window, 'load', fn);