DOM事件处理

2月12号

1.节点

  • 创建节点的API是:createElement
  • 删除节点的API:removeChild
  • 获取自定义属性的值的API是: getAttrinute
  • 自定义属性一般使用的前缀是:data
  • 能够获取节点下的所有子节点的API是 :children

2.关于事件

注册事件的两种方式

<1>传统事件

  • on开头的click
    具有注册事件的唯一性 同一个元素 同一个事件只能设置一个处理函数 后面的会覆盖前面的

<2>监听注册方式(存在兼容问题)

  • addEventListener 此监听事件支持IE9以上版本
  • attachEvent 此监听事件支持IE9以前版本

监听注册方式 同一事件同一元素可以设置多个处理函数

3.解决事件的所有兼容问题

DOM事件处理_第1张图片

图中代码就是判断浏览器四否能执行addEvebtListener监听事件 如果不能执行就执行IE9以前版本的attachEvent监听事件 如果依然不能执行就执行万能的onclick事件

4.封装上面的解决兼容问题的代码

DOM事件处理_第2张图片

5.删除事件

1.删除传统的onclick事件

DOM事件处理_第3张图片

2.删除addEventListener监听事件

DOM事件处理_第4张图片

两个参数:
事件类型
事件处理函数

6.DOM 事件流

  • 又内向外叫做冒泡
  • 由外向内叫做捕获DOM事件处理_第5张图片
    addEventListener事件的第三个参数决定事件是冒泡还是捕获

7.事件对象的兼容性DOM事件处理_第6张图片

8. e.target和this的区别

DOM事件处理_第7张图片
如图所示
this返回当前的单击的对象 也就是说当前的click事件绑定到那个元素上 则this就等于这个对象

target 返回的是触发事件的具体元素

2月13号

1.addEventListener的参数:
  • 第一 事件类型
  • 第二 事件处理程序
  • 第三 true为捕获 flase或者没有第三参数为冒泡
2.事件对象的属性和方法
e.target 返回触发事件的对象 标准
e.srcElement 返回触发事件的对象 非标准 ie6-8可使用
e.type 返回事件的类型 比如click mouseover 不带 on
e.cancelBubble 该属性阻止冒泡 非标准 Ie6-8可以使用
e.turnValue 该属性阻止默认事件(默认行为)非标准 ie6-8使用 比如不让超链接跳转
e.preventDefault() 该方法阻止默认事件(默认行为)标准 比如不让连接跳转
e.stopPropagation() 阻止冒泡 标准

获取事件对象 如果用onclick的方式注册事件

  1. IE9以上以及火狐谷歌等现代浏览器 则对象放到时间的处理函数的参数中
  2. IE9以下 则对象信息通过window.even获取

3.阻止默认行为

  • IE9以上版本

    百度
    

  • IE9以下版本 以下方法IE9以上版本浏览器也可以使用

    百度
    

4.阻止冒泡

DOM事件处理_第8张图片

你可能感兴趣的:(DOM事件处理)