博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
事件 P346页
阅读量:6345 次
发布时间:2019-06-22

本文共 2442 字,大约阅读时间需要 8 分钟。

事件流:从页面接收事件的顺序

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

2、事件捕获:Netscape Communicator团队提出的另一种事件流。与事件冒泡方向相反。

3、DOM事件流

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

事件处理程序

事件处理程序的名字以‘on’开头

1、HTML事件处理程序   含‘on’

2、DOM0级事件处理程序      含‘on’

3、DOM2级事件处理程序:addEventListener()、removeEventListener()   

接受三个参数:要处理的事件名、作为事件处理程序的函数、一个布尔值

其中布尔值参数为true,表示在捕获阶段调用事件处理程序;若为false,表示冒泡阶段调用事件处理程序。

4、IE事件处理程序:attachEvent()、detachEvent()

接受两个参数:事件处理程序名称、事件处理程序函数     含‘on’

attachEvent()方法和addEventListener()方法类似,可以为一个元素添加多个事件处理程序。但是触发事件的顺序相反

5、跨浏览器的事件处理程序***   addHandler()      removeHandler() 。。。。  详见P354页、P361页、P373页、P374页、

EventUtil的用法如下:

var EventUtil={
addHandler:function (element,type,handler) {
if(element.addEventListener){
element.addEventListener(type,handler,false) }else if(div.attachEvent){
element.attachEvent('on'+type,handler) }else {
element['on'+type]=handler; } }, removeHandler:function (element,type,handler) {
if(element.removeEventListener){
element.removeEventListener(type,handler,false) }else if(div.detachEvent){
element.detachEvent('on'+type,handler) }else {
element['on'+type]=null; } }, getEvent:function (event) {
return event?event:event.srcElement; }, getTarget:function (event) {
return event.target||event.srcElement; }, getRelatedTarget:function (event) {
if(event.relatedTarget){
return event.relatedTarget; }else if(event.toElement){
return event.toElement; }else if(event.fromElement){
return event.fromElement; }else {
return null; } }, getButton:function (event) {
if(document.implementation.hasFeature('MouseEvent','2.0')){
return event.button; }else {
switch (event.button){
case 0: case 1: case 3: case 5: case 7: return 0; case 2: case 6: return 2; case 4: return 1; } } } };

事件对象

1、DOM中的事件对象  详见P355页。

2、IE中的事件对象      详见P359页。

3、跨浏览器的事件对象     详见P361页。getEvent   getTarget      preventDefault

 

转载于:https://www.cnblogs.com/LiuMingfeng/p/7739600.html

你可能感兴趣的文章
View和Activity的生命周期
查看>>
解决PHP下载大文件失败,并限制下载速度
查看>>
java B2B2C Springcloud电子商城系统—Feign实例
查看>>
java B2B2C Springcloud多租户电子商城系统 (五)springboot整合 beatlsql
查看>>
Throwable是一个怎样的类?
查看>>
Python基础(一)
查看>>
三条代码 搞定 python 生成验证码
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
无线和有线路由哪种性能更好
查看>>
Dwr3.0纯注解(纯Java Code配置)配置与应用浅析三之后端反向调用前端
查看>>
Ubuntu下安装遨游浏览器
查看>>
自定义Linux service脚本
查看>>
微信开发之发红包
查看>>
一键lnmp脚本&&php扩展模块安装(适用于CENTOS6.X系列)
查看>>
二维观察---文字的裁剪
查看>>
矩形覆盖
查看>>
ICMP
查看>>
界面设计模式(第2版)(全彩)
查看>>
解决VMware Workstation错误:未能锁定文件
查看>>