事件注册与触发

事件注册与触发

  • 事件注册

  • 取消事件注册

  • 事件触发

eventTarget

事件注册

eventTarget.addEventListener(type,listener,[useCapture])

var elem = document.getElementById('div1');
var clickHandler = function(event){
  // TO DO
}
elem.addEventListener('click',clickHandler,false);

取消事件注册

eventTarget.removeEventListener(type,listener,[useCapture])

elem.removeEventListener('click',clickHandler,false);
elem.onclick=null;

事件触发

eventTarget.dispatchEvent(type)

浏览器兼容

  • 关于IE低版本的兼容性

    • IE低版本使用attachEvent绑定事件,和W3C标准不一样

  • 事件注册与取消

    • attachEvent/detachEvent

  • 事件触发

    • fireEvent(e)

  • no capture

事件兼容处理(W3C和IE低版本)

var addEvent = document.addEventListener ?
    function functionName(elem,type,listener,useCapture) {
      elem.addEventListener(type,listener,useCapture);
    }:
    function functionName(elem,type,listener,useCapture) {
      elem.attachEvent('on' + type, listener);
    };
var delEvent = document.removeEventListener ?
    function functionName(elem,type,listener,useCapture) {
      elem.removeEventListener(type,listener,useCapture);
    }:
    function functionName() {
      elem.detachEvent('on' + type, listener);
    };

最后更新于