位置: 编程技术 - 正文

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事件详解

  • 物业公司要交税吗?
  • 免税合并和应税合并商誉
  • 取得研发样品收入
  • 自产自用应税消费品的消费税,其纳税环节
  • 高铁票抵扣增值税
  • 关联方债务豁免需要缴纳所得税吗
  • 环保设备折旧年限和残值率
  • 企业财产损失审批前后的账务处理
  • 清算费用会计科目设置
  • 子公司注销是利空吗
  • 开具正数发票中如何体现扣款
  • 互联网企业招商方案
  • 商业银行固定资产贷款
  • 单位给员工发工资要交税吗
  • 货物和劳务
  • 多缴税款能否跨年抵扣
  • 总公司与分公司的账务处理销售
  • 现金流量表本月数和本年累计数是相等的么
  • 公司设备没开票维修时配件能开票吗?
  • 月末增值税进项和销项怎么结转
  • 发票认证信息怎么填
  • 发票产生的材料是什么
  • 总资产算不算负债
  • 超市一般纳税人账务处理
  • linux中php的作用
  • G40/50-70、SR1000随机Linux改安装Win7系统的实现方法
  • 拍卖本人文字作品原稿
  • 金融债券利息收入免税吗
  • php实现搜索的方式
  • 房产税的计税依据的形式包括
  • 房地产开发企业增值税怎么算
  • 转出未交增值税借方余额表示什么
  • 关联方核对
  • uniapp实战
  • vue项目创建流程
  • 【AIGC】6、Segment Anything | Meta 推出超强悍可分割一切的模型 SAM
  • 模型论文是什么类型
  • Python深度学习实战:人脸关键点(15点)检测pytorch实现
  • 学长学姐面试要注意哪些细节
  • 猿起信息科技有限公司官网
  • php事件机制
  • 接受赠品怎么做账
  • 银行存放中央银行准备金的会计处理
  • 股东从公司账户上转钱违法吗
  • 其他综合收益涉及到的业务
  • 季末资产总额怎么计算
  • 为什么盈余公积减少,未分配利润增加
  • asp.net mvc图片上传
  • 多处取得工资薪金
  • 企业弥补亏损的会计分录
  • 对公允价值套期的认识
  • 电子发票可以作为保修凭证吗
  • 材料成本差异怎么做分录
  • 外购材料时所支付的增值税应如何处理
  • 广告费计入什么会计分录
  • 旅行社差额征收怎么报税
  • 小规模纳税人劳务费税率
  • 银行承兑汇票的好处
  • 测绘费计入什么明细科目
  • 银行汇票可用于异地结算吗
  • 固定资产成本包括什么
  • SQLserver中cube:多维数据集实例详解
  • sql刷新快捷键
  • Windows 2003 SP2 简体中文版下载地址
  • 32位操作系统不能玩cf
  • 手动GHOST安装系统方法教程图解
  • centos设置服务自启动
  • python中字典的方法有哪些
  • javascript概述及作用
  • HttpURLConnection的流式输出的缺陷和解决方法
  • Android--VideoPlay--视频播放器
  • android网络访问异常提示有哪些
  • 两个python中内置的数值运算函数
  • python右斜杠怎么打出来
  • js如何判断输入输出
  • 总公司与分公司的法律责任
  • 事业编税务局
  • 耕地建仓库属于违规
  • 广东发票勾选认证操作流程
  • 金融商品转让是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设