zoukankan      html  css  js  c++  java
  • addEventListener和attachEvent小结续写

    DOM事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段

    事件捕获(event capturing)的思想是从不太具体的节点应该更早接收到事件,而最具体的节点应该最后接收到事件。

    事件冒泡(event bubbling)事件开始时由最具体的元素接受,然后逐级向上传播到较为不具体的节点。

    弱耦合性思想是将HTML和javascript分离开来

    最初DOM采用方式:

    绑定事件:          elem.type=fn(){}               //   元素名.事件类型=函数名(){}        事件类型  type例如onclick

    移除事件:          elem.type=null;

    DOM2采用方式:

    绑定事件:          addEventListener(elem,type,bool)         //   事件类型  type例如click

    移除事件:          removeEventLisnter(elem,type,bool)

    IE-DOM2采用方式:

    绑定事件:         attachEvent(elem,type)           //事件类型  type例如onclick
    移除事件:         detachEvent(elem,type)      

    注:

    标准DOM中事件处理程序会在其所属元素的作用域内容行        this    ===   具体元素
    也可以采用   event.target  指向具体元素

    IE-DOM1中事件处理程序会在其所属元素的作用域内运行        this    ===   具体元素

    IE-DOM2中事件处理程序会在全局作用域中运行                   this    ===   window        

    要指向具体元素    event.srcElemnt

    var EventUtil = {
                addHandler: function (element, type, handler) {
                    if (element.addEventListener) {
                        element.addEventLisener(type, handler, false);
                    }
                    else if (element.attachEvent) {
                        element.attachEvent("on" + type, handler);
                    }
                    else {
                        element["on" + type] = handler;
                    }
                },

                removeHandler: function (element, type, handler) {
                    if (element.removeEventListener) {
                        element.removeEventListener(type, handler, false);
                    }

                    else if (element.detachEvent) {
                        element.detachEvent("on" + type, handler);
                    }
                    else {
                        element["on" + type] = null;
                    }
                }
            }

  • 相关阅读:
    中继器,集线器,网桥,交换机,路由器有什么区别?//联网用到的硬件简介
    超级详细Tcpdump 的用法
    C/C++语言void及void指针深层探索
    玩转Android事件监听篇第2篇
    密码控晒稀奇密码大开眼界 文艺密码PK科学密码
    路由环路&路由中毒&路由黑洞简析
    工程师淘金:开发Android主攻四大方向
    Windows路由表详解
    freebsd 终端显示文件夹时有颜色
    程序员的八个级别
  • 原文地址:https://www.cnblogs.com/kuikui/p/2297465.html
Copyright © 2011-2022 走看看