位置: 编程技术 - 正文

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,在那里事件才能得到处理。

JavaScript事件

type

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

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

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

stopPropagation()

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

又如:

eventPhase

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

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

又如:

流程大概是:

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

标签: JavaScript事件 "事件对象"的注意要点

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

上一篇:详解JavaScript中localStorage使用要点(js中的)

下一篇:JavaScript事件类型中UI事件详解

  • 个人所得税怎么申报退税
  • 支出算什么会计科目
  • 备案办税人员信息填本人的有风险吗
  • 增值税勾选统计后怎么申报
  • 累计折旧空运直接计入生产成本吗
  • 计提缴纳印花税怎么做账
  • 外资企业采购流程
  • 平价转让股权如何交税
  • 长期挂账的应付账款怎么处理
  • 抵押贷款合同印花税怎么算
  • 补提折旧调整分录
  • 合同取消写什么
  • 进项税额转出需要发票吗
  • 不同税率的产品可以开一张票里吗
  • 在建工程需要交哪些税
  • 残疾人保障金什么时候发放
  • 原始凭证是出纳粘贴还是会计粘贴
  • 增值税减免了,附加税申报表还用填吗
  • 政府会计提取专用基金
  • 用工和用人单位
  • 一级代理价格
  • 个体工商户开服务类型发票怎么开的
  • 房地产税是否存在退税
  • 发票已抵扣未入账
  • 行政单位年底结账怎么算
  • 无生产怎样结转成本费用
  • 侵权行为 法律行为
  • 在win7中,打开资源管理器的快捷键
  • PHP:xml_error_string()的用法_XML解析器函数
  • 上海中秋活动2021
  • 关于工程材料的质量控制说法正确的是
  • deepin怎么删除账户
  • 无形资产摊销时点
  • vue 滚动条往下滑
  • array php
  • php获取操作系统
  • 收到合同预付款怎么处理
  • 自产货物进项税抵扣
  • 财报层次和认定层次
  • 报销借款分录怎么做
  • mysql查询的结果缓存里怎么清除
  • 发票开预付卡充值可以计入费用吗
  • 企业注销了,存钱怎么办
  • 房屋租赁交的定金可以退吗
  • MySQL服务器系统支持哪些存储引擎
  • Mysql获取当前年份
  • 如何理解当期损益
  • 政府补助属于不征税金吗
  • 负债与所有者权益比率计算公式
  • 福利费需要通过应付职工薪酬吗
  • 企业所得税季报是填累计数吗
  • 增值税的专用发票金额含税吗
  • 拼多多里的多多付款安全吗
  • 逾期贷款利息收入增值税和企业所得税纳税义务时间
  • 借款合同需要交印花税吗
  • 投资性房地产出租的会计处理
  • 收到房租费发票如何做账
  • 计提折旧的固定资产有哪些
  • u8委外怎么核销
  • sql的数据操作
  • eclipse连接mysql代码
  • mysql 5.6.14 win32 解压缩版(免安装)安装配置教程
  • mysql 修改密码后 unknown error 1820
  • mysql 大数据处理
  • ubuntu常用操作
  • linux oracle 12505
  • WIN7系统如何禁止特定软件在线升级
  • Win10系统里的Smartscreen筛选器的使用以及开启方法
  • 安卓手机好用的笔记类app
  • 如何在手机上直接买彩票
  • vim如何在文件中添加
  • linux 每隔几秒执行一次
  • python编码大全
  • Python函数中仅允许有一条return语句
  • android 入门教程
  • 普通发票开具系统
  • 武汉税务局发票对奖
  • 总公司和子公司是什么关系
  • 补交以前年度城建税费怎么做账
  • 国际税务网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设