• 事件注册与触发
    • eventTarget
  • 事件注册
  • 取消事件注册
  • 事件触发
    • 浏览器兼容
      • 事件兼容处理(W3C和IE低版本)

    事件注册与触发

    • 事件注册
    • 取消事件注册
    • 事件触发

    eventTarget

    事件注册

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

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

    取消事件注册

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

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

    事件触发

    eventTarget.dispatchEvent(type)

    浏览器兼容

    • 关于IE低版本的兼容性

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

      • attachEvent/detachEvent
    • 事件触发

      • fireEvent(e)
    • no capture


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

    1. var addEvent = document.addEventListener ?
    2. function functionName(elem,type,listener,useCapture) {
    3. elem.addEventListener(type,listener,useCapture);
    4. }:
    5. function functionName(elem,type,listener,useCapture) {
    6. elem.attachEvent('on' + type, listener);
    7. };
    8. var delEvent = document.removeEventListener ?
    9. function functionName(elem,type,listener,useCapture) {
    10. elem.removeEventListener(type,listener,useCapture);
    11. }:
    12. function functionName() {
    13. elem.detachEvent('on' + type, listener);
    14. };