8月17号=》421页-430页

15.3  DOM的事件模型

15.3.1  绑定事件处理器

    DOM也提供了一种事件绑定机制,这种机制和Internet Explorer的attachEvent()方法类似,但是有自己独特的语法。DOM所提供的

    事件绑定方法是addEventListener(),该方法的语法格式如下。

      objectTarget.addEventListener("eventType",handler,captureFlag):该方法为objectTarget绑定事件处理器handler,其

      第一个参数是事件类型字符串(将前面的事件属性去掉前缀“on”,例如click、mousedown、keypress等);第二个参数是事件处理

      函数;第三个参数用于指定监听事件传播的哪个阶段(true表示监听捕获阶段,false表示监听冒泡阶段)。

    与addEventListener()方法相对应,DOM也提供了一个方法用于删除事件处理器,该方法为removeEventListener。

    其语法格式如下:

      objectTarget.removeEventListener("eventType",handler,captureFlag):该方法为objectTaret删除事件处理器handler,参数

      与addEventListener()方法的3个参数完全类似。

15.3.2  访问事件对象

    前面已经提到,DOM事件模型与Internet Explorer事件模型访问事件对象的方式不同,在DOM的事件模型中,当浏览器

    检测到发生了某个事件时,将自动创建一个Event对象,并隐式地将该对象作为事件处理函数的第一个参数传入。

    代码示范:

      var clickHandler = function(evt)

      {

        alert(evt.target.innerHTML);

      }

      document.getElementById("a").onclick = clickHandler;

      <button id="a">按钮</button>

    点击按钮将弹出“按钮”对话框。

    DOM提供了一套完整的事件继承体系,下面是具体的对应关系。

      Event:对应有abort、blur、change、error、focus、load、reset、resize、scroll、select、submit、unload等事件。

      MouseEvent:对应有click、mousedown、mousemove、mouseout、mouseover、mouseup等事件。

      UIEvent:对应有DOMActivate、DOMFocusln、DOMFocusOut等事件。

      MutationEvent:对应有DOMAttrModified、DOMCharacterDataModified、DOMNodeInserted、DOMNodeInsertedIntoDocument、

              DOMNodeRemoved、DOMNodeRemovedFormDocument、DOMSubtreeModified等事件。

    在Event接口里定义了如下属性。

      type:返回该事件的类型,该属性值与注册事件处理器时所用的事件类型字符串相同(例如click、mouseover等)。

      target:返回触发事件的事件源。

      currentTarget:返回事件当前所在的事件源。该属性值与target属性可以不同,如果在捕获或冒泡阶段处理该事件,则该属性值与target属性

              返回的对象并不相同。基本上,该属性可以代替事件处理器中的关键字this。

      eventPhase:返回该事件正处在哪个阶段,可能的值有Event.CAPTURING_PHASE(捕获阶段)、Event.AT_TARGET或

              Event.BUBBLING_PHASE(冒泡阶段)。

      timeStamp:返回一个Date对象,代表事件的发生事件。

      bubbles:返回一个boolean值,用以表示该类事件是否支持冒泡。

      cancelable:返回一个boolean值,用以指定该事件是否有默认行为,且可以通过preventDefault()方法来取消默认行为。

    UIEvent接口定义了如下两个属性。

      view:返回window对象,也就是发生该事件的窗口。

      detail:返回一个数字,该数字可以提供一些附加意义。例如对click、mousedown和mouseup事件,event属性返回1代表单击,

          2代表双击,3代表三击(鼠标每次单击都会产生一个事件,如果两次单击的时间足够接近,它们就会变成一次双击事件)。

    MouseEvent接口继承了UIEvent,它不仅可以使用Event接口的所有属性,也可以访问UIEvent接口的全部属性。

    该接口里包含如下几个属性。

      button:返回一个数字,代表触发事件的鼠标键。其中0代表鼠标左键,1代表鼠标中键,2代表鼠标右键。只有当浏览者改变了鼠标键状态

          时才可以访问该属性,例如mousemove事件就不可访问该属性。

      altKey、ctrlKey、metaKey、shiftKey:这4个属性都返回boolean值,用于显示发生该鼠标事件时,是否同时按下了Alt、Ctrl、Meta或Shift功能键。

      clientX、clientY:返回鼠标事件的发生位置,该位置以浏览者的浏览窗口作为坐标系。注意:该位置完全不考虑document的滚动位置,即使把浏览器

              滚动条拖到下面,只要鼠标事件在浏览器上方发生,clientY属性依然是0。DOM模型并没有提供标准方法来完成window坐标到

              document坐标之间的转换,所以开发者必须手动实现转换。在除IE之外的其他浏览器中,可以再为这两个属性分别添加

              window.pageXOffset和window.pageYOffset来完成window坐标到document坐标的转换。

      screenX、screenY:返回鼠标事件的发生位置,该位置以用户显示器作为鼠标位置的坐标系。当开发者试图在鼠标位置打开一个新的浏览器时,

                这两个属性比较有用。

      relatedTarget:返回该事件事件源的相关节点。对于mouseover事件,该属性值返回在鼠标离开某个HTML元素之前离开的HTML元素;对于mouseout

              事件,该属性值返回在鼠标离开某个HTML元素后立即进入的HTML元素。其他事件通常没有该属性。

15.3.3  事件传播

    DOM模型的事件先后沿着两个方向传播:在第一个阶段,也就是前面提到的事件捕获阶段,事件从最顶层的对象依次向下传播,因此先触发顶层对象

    的事件处理函数,然后依次向下,直到传播到事件所发生的最底层对象;接着进入第二个阶段,也就是前面提到的事件冒泡阶段,事件传播从底层一直

    上溯,直到最顶层的对象。

    为了阻止事件传播,DOM为Event对象提供了stopPropagation()方法,该方法的语法格式如下:

      event.stopPropagation():阻止event事件传播。

8月17号=》421页-430页,布布扣,bubuko.com

时间: 2024-10-10 11:13:13

8月17号=》421页-430页的相关文章

6月17号=》161页-165页

6.5.3 浏览器专属的属性 常见的浏览器前缀 前缀 组织 示例 说明 -ms- Microsoft -ms-interpolation-mode Internet Explorer浏览器专属的CSS属性需添加-ms-前缀 -moz- Moazilla -moz-read-only 所有基于Gecko引擎的浏览器(如Firefox)专属的CSS属性需添加 -moz-前缀 -o- Opera -o-text-overflow Opera浏览器专属的CSS属性需添加-0-前缀 -webkit- We

7月17号=》221页-225页

10.1.1 通过float属性实现多栏布局 通过使用float属性,可以非常方便地基于<div>元素来设置导航菜单.多栏布局 等效果.代码示范: //为div元素设置左浮动,如果多个div元素的总宽度未超过父元素的宽度 则在一行显示多个div div{ float:left; } 10.1.2 使用clear属性实现换行 clear属性用于设置HTML组件的左.右是否允许出现“浮动”组件,如果该 属性指定为left,则左边不允许出现“浮动”组件:如果指定为right,则右边 不允许出现“浮动

5月29号=》第41页-第45页

2.4 HTML5头部和元信息 <script>:该元素用于包含JavaScript脚本. <style>:该元素用于定义内部CSS样式. <link>:该元素用于链接外部CSS样式等资源. <title>:该元素用于定义文档标题. <base>:该元素用于指定该页面中所有链接的基准链接. 该元素属性如下: href:指定所有链接的基准链接. target:指定超链接默认在哪个窗口打开=>(_blank._parent._self._top

5月27号=》第30页-第35页

2.18 框架相关元素 HTML5删除了<frameset>.<frame>.<noframes>这三个标签 保留了<iframe>元素 2.2 HTML5新增的通用属性 2.2.1 contenEditable:该属性为true时可在页面直接对该标签进行编辑    用户编辑完后,内容会直接显示在该页面中(一旦  刷新页面就会重新加载,编辑的内容会丢失),开发  者可以通过该元素的innerHTML属性来获取编辑后    的内容   该属性具有"可

5月28号=》第35页-第40页

2.3.2 语义相关元素 <mark>:用于显示HTML页面中需要重点"关注"的内容,浏览器 通常会用黄色显示该标签内的内容. <time>:用来显示被标注内容是日期.时间或者日期时间.   使用该标签要指定datetime属性,格式为"yyyy-MM-ddTHH:mm"   如果<time>标签的内容直接符合以上格式,则可以不用指定datetime属性. <details>:该元素用于显示一段详细信息或某个主题的细节

2014年11月17号------html起始

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

4月17号周五课堂练习:用户场景分析

一.persona(典型用户) 姓名                   笨蛋先生 性别.年龄          男,22岁 职业                  学生 收入(月花销)    700元/月 知识层次和能力    大学本科,计算机相关的专业 生活/工作情况      学习,运动,游戏 动机,目的,困难 通过玩不同的游戏,来了解游戏的开发动向和目前大众的娱乐 方向.困难:游戏更新速度太快,有点跟不上发展的节奏. 用户偏好 打球,跑步,轮滑 用户比例             ????

2018年11月17号第一次参加源创会记录

前言 昨天下午,到网易大厦参加了源创会的微信小程序技术沙龙.之前也参加过一些技术沙龙,但是原创会的还是第一次,总体感觉,还是很不错的. 细雨纷飞,准时来到会场之后,竟然发觉早已经人满为患,后边陆续还有不少参会者进场,后来的人就只能够站着听了. 主题 一共有四个主题,基本都与微信小程序和前端开发相关的.其实我也不知道为什么选题主要都和小程序或者前端相关,也许可能微信总部在广州吧,又或者广州这个城市比较着重商贸,所以微商或者搞前端这些讲求快捷实用的小公司更多吧.毕竟大部份的科技巨头都集中在北京上海深

11月17号站立会议

小组名称:飞天小女警 项目名称:礼物挑选小工具 小组成员:沈柏杉(组长).程媛媛.杨钰宁.谭力铭 代码地址:HTTPS:https://git.coding.net/shenbaishan/gift-selection.git SSH:[email protected]:shenbaishan/gift-selection.git 会议时间:2016-11-17 13:00-----13:30 会议地点:传媒西202 会议内容: 一.已完成项: ①查看数据爬虫类教程--沈柏杉 ②补BUG--程媛