web前端-js小记(9)-事件

1、DOM0 事件和DOM2级在事件监听使用方式上有什么区别?

  1. DOM0事件: DOM0分为2种,一种是HTML内联方式,事件写在标签里面;另一种是JavaScript指定事件处理程序,把一个方法赋值给一个元素的事件处理程序属性(onclick,onload等)。
  1. DOM2事件:
    DOM2事件定义了两个方法用于处理指定和删除事件处理程序的操作 :1. addEventListener(); 2. removeEventListener()。两种方法接受3个参数:1、事件类型;2、事件处理方法;3、布尔参数(默认值为false),如果是true表示在捕获阶段调用事件处理程序,如果是false,则是在事件冒泡阶段处理

2、attachEvent与addEventListener的区别?

  1. attachEvent和detachEvent: IE浏览器独有的方法(IE10以上不支持),接收两个参数: 1、事件处理程序属性;2、事件处理程序方法。由于IE仅支持事件冒泡,所以添加的程序会被添加到冒泡阶段。
  2. attachEvent与addEventListener的区别:
不同点 addEventListener attachEvent
参数个数不同 有3个参数,第3个参数可以决定添加的事件处理程序是在捕获阶段还是冒泡阶段处理 只有2个参数,而且只能发生在冒泡阶段
第一个参数不同 第一个参数是事件类型(比如click,load) 第一个参数指明的是事件处理函数名称(onclick,onload)
作用域不同 作用域是元素本身,this是指的触发元素 在全局变量内运行,this是window
为一个事件添加多个程序 会按照添加顺序执行 执行顺序无规律(添加的方法少的时候大多是按添加顺序的反顺序执行的,但是添加的多了就无规律了)

3、解释IE事件冒泡和DOM2事件传播机制?

  1. IE事件冒泡: 从目标元素出发,向外层元素冒泡,最后到达顶层(window或document),依次执行绑定再其上的事件。
  2. DOM2事件传播机制包含3个阶段:
    事件捕获阶段:事件从顶级文档树节点一级一级向下遍历,直到到达该事件的目标节点。
    事件目标阶段:到达事件的目标节点,执行目标节点的事件处理程序。
    事件冒泡阶段:事件从目标节点一级一级向上上溯,直到顶级文档树节点。

4、如何阻止事件冒泡? 如何阻止默认事件?

阻止事件 DOM事件的对象 IE事件的对象
阻止事件冒泡 e.stopPropagation(); window.event.cancelBubble=true;
阻止默认事件 e.preventDefault(); window.event.returnValue=false;

5、有如下代码,要求当点击每一个元素li时控制台展示该元素的文本内容。不考虑兼容

  • 你好
  • 我是
  • 过儿

6、补全代码

要求:当点击按钮开头添加时在第一个li元素前添加一个新元素,内容为用户输入的非空字符串;当点击结尾添加时在最后一个 li 元素后添加用户输入的非空字符串.
当点击每一个元素li时控制台展示该元素的文本内容。
代码6

7、补全代码

要求:当鼠标放置在li元素上,会在img-preview里展示当前li元素的data-img对应的图片。
代码

(mission 9)

你可能感兴趣的:(web前端-js小记(9)-事件)