位置: 编程技术 - 正文

理解JavaScript事件对象

编辑:rootadmin

推荐整理分享理解JavaScript事件对象,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在触发DOM上的某个事件时,会产生一个事件对象event。

DOM中的事件对象

兼容DOM的浏览器会将一个event对象传入到事件处理程序中。event对象包含与创建它的特定事件有关的属性和方法。除法的事件类型不一样,可用的属性方法就不一样。不过,所有的事件都会有下表列出的成员。

下面列出了 2 级 DOM 事件标准定义的属性:

bubbles: 返回布尔值,指示事件是否是起泡事件类型。 cancelable: 返回布尔值,指示事件是否可拥可取消的默认动作。 currentTarget: 返回其事件监听器触发该事件的元素。 eventPhase: 返回事件传播的当前阶段。 target: 返回触发此事件的元素(事件的目标节点)。 timeStamp: 返回事件生成的日期和时间。 type: 返回当前 Event 对象表示的事件的名称。

下面列出了 2 级 DOM 事件标准定义的方法。IE 的事件模型不支持这些方法:

initEvent(): 初始化新创建的 Event 对象的属性。 preventDefault(): 通知浏览器不要执行与事件关联的默认动作。 stopPropagation(): 不再派发事件。

this、target、currentTarget

在事件处理程序的内部,对象this始终等于currentTarget的值,而target则只包含事件的实际目标。如果直接将事件处理程序指定给了目标元素,则this、currentTarget和target包含相同的值。如:

由于click事件的目标是btn按钮,所以这三个值是相等的。如果事件处理程序在按钮的父节点(document.body)中,那么这些值则不相同。如:

在这里,this和currentTarget都是document.body,因为事件处理程序是注册到这个元素上的。但是target元素却等于按钮元素,因为它是click事件的真正目标。由于按钮并没有注册事件处理程序,结果click事件就冒泡到了document.body,在那里事件才能得到处理。

1、type

理解JavaScript事件对象

在需要通过一个函数处理多个事件时,可以使用type属性。如:

2、preventDefault()

要阻止特定事件的默认行为,可以使用该方法。如:

以上代码即屏蔽了网页上全部的a标签超链接功能。要注意的是,只有cancelable属性设置为true的事件,才可以使用preventDefault()来取消其默认行为。

3、stopPropagation()

立即停止事件在DOM层次中的传播,即取消进一步的事件捕获或冒泡。例如,直接添加到一个按钮的事件处理程序可以调用该方法,从而避免触发注册在document.body上面的事件处理程序。如:

又如:

eventPhase

该属性用来确定事件当前正位于事件流的哪个阶段。

如果是捕获阶段则等于1; 如果是目标对象阶段则等于2; 如果是冒泡阶段则等于3;

如:

又如:

流程大概是:

document.body 捕获阶段 --> btn 目标对象阶段 --> document.body 冒泡阶段

标签: 理解JavaScript事件对象

本文链接地址:https://www.jiuchutong.com/biancheng/382777.html 转载请保留说明!

上一篇:学习JavaScript事件流和事件处理程序

下一篇:JavaScript实现给定时间相加天数的方法(javascript怎么弄)

  • 为什么要交税钱
  • 国际税收协定是怎样避税的
  • 哪些费用可以放到研发费用中
  • 税额四舍五入的计算公式
  • 申报附加税增加一行如何增加
  • 税务局开专票作废重开及退税流程
  • 期间费用包括资本公积吗
  • 无偿赠送货物怎么做账
  • 临时工工资为什么那么低?
  • 汽车折旧年限 税法
  • 试驾车抵税
  • 公司出让土地是利好
  • 资产的名义已使用年限与实际已使用年限的区别与联系
  • 商品销售赠送部分要交税吗
  • 退货应入会计什么科目
  • 企业营改增后的会计处理有何变化
  • 一般纳税人地税怎么收费
  • 什么发票 既可以抵扣又可以退税
  • 什么情况下要交消费税
  • 发票开错了要退税怎么操作
  • 房地产企业土地出让金抵减销项税额
  • 不动产增值税计算公式
  • 公司购买房子涉及什么税
  • 穿越火线封号查询官网
  • 库存现金银行存款用什么凭证
  • 如何安全的处置电子邮件
  • linux系统中用户账户有哪些分类
  • win10任务栏怎么隐藏
  • 图像类别
  • kcleaner.exe是什么
  • 进程aissca.exe
  • 荣耀畅玩7怎么截长图
  • vue3获取当前vue实例
  • 取得剧本使用费怎么做账
  • Laravel 5.4因特殊字段太长导致migrations报错的解决
  • 代扣代缴企业所得税账务处理
  • 企业所得税税前扣除和不扣除的区别
  • 待抵扣进项税的限额是什么
  • jwt 鉴权
  • javascript基础编程
  • 财务报表季报应付职工薪酬为负数
  • 增值税电子普通发票和专票的区别
  • 什么企业不用交残保金
  • 银行存款 会计科目
  • 银行代发工资流程
  • mysql 优化口诀
  • 企业进行股权转让前,必须先销什么户
  • 累计折旧的账务处理
  • 本月销售商品会计分录
  • 资产负债表没有
  • 库存现金是什么凭证
  • 合伙企业年终分红会计分录
  • 开票系统服务费计入什么费用
  • 服务业预收账款什么时候确认收入
  • 捐赠 税收
  • 预提成本和冲回成本金额不一致情况说明
  • 广告费计入什么会计分录
  • 银行手续费在现金流量表怎么填
  • 房地产经纪公司排名
  • 广告费用收入
  • 合资注册公司应该注意什么
  • 收到发票税点计入什么科目
  • 其他应收款待抵扣税金
  • 建账需要准备什么东西
  • Windows Server 2003系统进程中NETWORK SERVICE相关知识详解
  • win8怎么卸载
  • 苹果mac安装
  • linux指令系统
  • androidstudio更改工程名字
  • python编写人工智能
  • 随机游戏插件怎么使用
  • node.js原生支持的编码格式
  • jquery获取数据
  • js的定时器函数
  • 从零开始学什么好
  • node socket hang up
  • EasyUI Pagination 分页的两种做法小结
  • python包含指定内容的字符串
  • 留抵税额可以留抵多久
  • 建筑业发票范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设