javaScript中的DOM0级和DOM2级事件

DOM0级事件(DOM0级事件的处理程序,又叫做事件监听器):

特点:
1)在DOM0级事件中,事件名均是以on开头的(click—>onclick)。
2)DOM0级事件处理程序是在元素的作用域中运行的,也就是说,在事件处理程序中,this引用就是这个元素对象。
3)以这种方式添加的事件处理程序会在事件流的冒泡阶段被处理。
4)取消事件冒泡:event.stopPropagation()/event.cancleBubble = true(此方法为IE中)。
5)删除事件处理程序,将属性值设为null即可(btn.οnclick=null)。
6)DOM0级事件不支持事件捕获。
优点:处理事件程序的传统方式,第四代web浏览器至今,所有浏览器都支持。
缺点:一个事件处理程序只能对应一个处理函数,同时绑定多个事件时,事件会被覆盖(这是因为btn.onclick实际上就像一个指针,在执行第一个事件处理程序时它指向了内存中的一个引用,执行第二个事件处理程序时它又会指向另一个内存的引用,最终会指向最后一个事件处理函数的内存引用。)。

DOM2级事件:

特点:
1)存在两个方法,用于处理制定和删除事件处理程序的操作(addEventListener和removeEventListener),接受三个参数:事件名称、事件处理程序的函数和布尔值,布尔值为false表示在事件冒泡阶段调用事件处理程序。
2)DOM2级事件处理程序也会依附在元素的作用域中运行。
3)
优点:可同时绑定几个事件,且不会 被覆盖;
缺点:不兼容
1)IE不支持DOM2级事件,但是有两个类似的方法attachEvent()/detachEvent()。
2)attachEvent()/detachEvent()只接受两个参数,么有最后一个布尔值,该事件只能发生在冒泡阶段。

你可能感兴趣的:(JavaScript)