第十三章 事件

1.事件流:描述的是从页面中接收事件的顺序。IE的事件流是事件冒泡流,而Netscape Communicator的事件流是事件捕获流。


2.事件冒泡:事件开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档)

   事件捕获:事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点应该最后接收到事件。


3.所有现代浏览器都支持事件冒泡。IE 5.5及更早版本中的事件冒泡会跳过元素;IE9、Firefox、Chrome和Safari则将事件一直冒泡到window对象


4.“DOM2级事件”规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段


5.事件:用户或浏览器自身执行的某种动作,例如click、load;

   事件处理程序(事件侦听器):响应某个事件的函数,其名字以“on”开头,如onclick、onload


6.使用DOM0级方法指定的事件处理程序被认为是元素的方法,也就是指程序中的this引用当前元素

var btn = document . getElementById ("myBtn") ;

btn . onclick = function(){

    alert(this . id) ;   //"myBtn"

}

DOM2级事件用于处理指定和删除事件处理程序的操作的方法:addEventListener()和removeEventListener()。addEventListener()添加的匿名函数无法移除。


7.①attachEvent()的第一个参数是"onclick",而非DOM的addEventListener()方法中的"click"。

   ②在使用attachEvent()方法的情况下,事件处理程序会在全局作用域中运行,this等于window

   ③使用attachEvent()添加的事件处理程序不是以添加它们的顺序执行,而是以相反的顺序被触发


8.无论指定事件处理程序时使用什么方法(DOM0级或DOM2级),都会传入event对象


9.在事件处理程序内部,对象this始终等于currentTarget的值,而target则只包含事件的实际目标


10.preventDefault()取消其默认行为;stopPropagation()用于立即停止事件在DOM层次中的传播


11.IE中的event对象:

①DOM0级方法添加:event对象作为window对象的一个属性存在

②attachEvent()添加:event对象作为参数被传入事件处理程序函数中

③HTML特性指定的:通过名叫event的变量来访问event对象


12.load事件:当页面完全加载后(包括所有图像、JavaScript文件、CSS文件等外部资源),就会触发window上面的load事件


13.unload事件:用户从一个页面切换到另一个页面,使用最多的情况是清除引用,以避免内存泄露。


14.①新图像元素不一定要从添加到文档后才开始下载,只要设置了src属性就会开始下载

     ②只有设置了

你可能感兴趣的:(第十三章 事件)