• 事件代理


    1.事件代理

      事件代理是指在父元素上注册事件回调函数,若在父元素容器内的子元素触发了该事件,则在父元素上响应该事件。即父容器代理了在其容器内所有子元素的事件处理,优点是:1>减少了事件绑定(只需要在父容器上绑定事件);2>动态变化的DOM结构仍然可以监听(父元素可以根据event.target.tagName 判断触发事件是哪个子元素)。

    2.浏览器差异

      火狐 & IE  ==>  事件捕获 & 事件冒泡 

      首先得明白父元素以及其容器内的子元素是合成绘制到页面上来的,即它们是堆叠显示的。

           事件捕获

           事件的触发从windon根节点发出,不断地经过向下传递直到目标节点。在到达目标节点的路径上所有注册过该事件的回调函数都会触发。

           事件冒泡

           事件的触发从目标节点发出,不断地通过上级节点(父节点)向上传递,在该过程中所经过的所有节点都会触发该事件,若注册过回调函数的节点,则该回调函数会执行。

    3.设置事件冒泡或者捕获阶段触发

      element.addEventListener(eventType,callBack,true | false)

      第3个参数默认为false,表示事件在冒泡阶段调用事件处理函数;如果该参数为true,则表示在事件捕获阶段调用事件处理函数。事件冒泡的兼容性更好,在IE9 之前设置 element.attachEvent(eventType,callBack),在IE9之后,可以设置 element.addEventListener(eventType,callBack,true|false);

          

  • 相关阅读:
    在web项目下注册MySQL数据库驱动失败
    Servlet 调用过程
    请求时参数到后台解码时会出现乱码问题
    Request 部分功能
    dom4j增删改查
    微信消息处理JAXP-sax解析
    微信消息处理JAXP-dom解析
    inputstream与其他格式的转换
    微信消息处理
    将Gridview导出到Excel
  • 原文地址:https://www.cnblogs.com/wust-hy/p/7469562.html
Copyright © 2020-2023  润新知