zoukankan      html  css  js  c++  java
  • 事件代理

    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);

          

  • 相关阅读:
    PyQt4布局管理——绝对定位方式
    PyQt4 菜单栏 + 工具栏 + 状态栏 + 中心部件 生成一个文本编辑部件示例
    PyQt4工具栏
    PyQt4菜单栏
    PyQt4状态栏
    PyQt4将窗口放在屏幕中间
    PyQt4消息窗口
    PyQt4关闭窗口
    Mysql基础之 ALTER命令
    电脑开机后win系统运行异常慢,鼠标移动卡
  • 原文地址:https://www.cnblogs.com/wust-hy/p/7469562.html
Copyright © 2011-2022 走看看