栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Html/CSS > CSS教程

JavaScript中的DOM与事件

CSS教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript中的DOM与事件

javascript和html之间的交互是通事件实现的。事件就是文档或者浏览器窗口中发生的一些特定的瞬间。我们可以使用侦听器来预定事件,以便事件发生时执行相应的代码.传统的软件工程中称为观察者模式,使得行为(js)和外观(html和css)松散耦合.

DOM事件流

"DOM2级事件"规定事件流包括3个阶段:

  1. 事件捕获(为截获事件提供了机会)
  2. 处于目标(实际的目标接收到事件)
  3. 事件冒泡(可对事件做出响应)

以下面的DOM结构为例:

单击div元素的时候会按照上述顺序触发事件。

事件处理程序

思考:上述的时间处理程序有什么缺点?
答:缺点有2个。①可能存在时差问题。考虑这样一种情形。show函数定义在按钮的后面,当DOM还没有加载到script标签的时候将会发生错误,此种情形可以通过内部添加try-catch来解决:

this和currentTarget都是body元素,因为事件是注册到body上的,而target却是按钮,因为它是事件的真是目标(最具体的元素).由于按钮上并没有注册处理程序,click事件就冒泡到了document.body并在那里得到处理.(在上面的例子中我们可以使用e.stopProgation()从而禁止事件传播)

其实,恰当使用能力检测就可以写出兼容代码,详见event.js

事件类型 UI事件

UI事件指的是那些不一定与用户操作有关的事件.