视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
学习JavaScript事件流和事件处理程序_javascript技巧
2020-11-27 21:49:22 责编:小采
文档

本文全篇介绍了JavaScript事件流和事件处理程序,分享给大家供大家参考,具体内容如下

一、事件流

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

二、事件冒泡

即事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点。如:




 


 Click

当点击了页面中的div元素,那么这个click事件会按照如下顺序传播:

  • div元素
  • body元素
  • html元素
  • document对象
  • 三、事件捕获

    事件捕获的思想是最具体的节点应该最后接收到事件。事件捕获的用意在于事件到达目标之前捕获它。

    当点击了页面中的div元素,那么这个click事件则会按照如下顺序传播:

  • document对象
  • html标签
  • body标签
  • div标签
  • 虽然规范要求事件应该从document对象开始传播,但浏览器一般都是从window对象开始捕获事件的。因为老版本浏览器不支持,所以一般都使用事件冒泡。

    四、DOM事件流

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

    在DOM事件流中,实际的目标在捕获阶段不会接收事件。就是说在捕获阶段,事件从document到html再到body后就停止了。下一个阶段是“处于目标”阶段,于是事件在div中发生,并在事件处理中被看成是冒泡阶段的一部分。然后,冒泡阶段发生。IE8及更早的版本不支持DOM事件流,浏览器在捕获阶段触发事件对象上的事件,结果就是有两个机会在目标对象上面操作事件。

    五、事件处理程序

    事件就是用户或浏览器自身执行的某种动作;事件处理程序(或事件侦听器)就是响应某个事件的函数。事件处理程序的名字以“on”开头,如onload、onclick等。

    六、HTML事件处理程序

    若要在按钮被单击时执行一些js代码,可以这样编写:

    Click
    

    注意:不能在其中使用未经转义的HTML语法字符。

    也可以调用在页面中其他地方定义的脚本:

    其中,this值等于事件的目标元素,如:

    
    

    HTML事件处理程序存在众多问题,所以应该使用js指定的事件处理程序

    七、DOM0级事件处理程序

    要使用js指定事件处理程序,首先必须取得一个要操作的对象的引用。

    每个元素都有自己的事件处理程序属性,这些属性通常全部小写,如onclick。如:

    显示全文
    专题