位置: 编程技术 - 正文

理解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怎么弄)

  • 城市维护建设税计算公式
  • 动产租赁适用税率
  • 单位外币账户领取流程
  • 先收到发票还未付款怎么做账
  • 其他应付款包括哪些内容口诀
  • 税收优惠退税会计处理
  • 企业对外付汇怎么入账
  • 税控系统的清单
  • 个人代开普票需要交个人所得税吗
  • 国际货物运输免征所得税
  • 小规模企业发生了增值税,如何计提附加税
  • 企业电子支付
  • 普通发票申请表怎么填写
  • 商品涉及商业折扣的,如何确认企业所得税的销售收入?
  • 物业公司可以开什么项目的发票
  • 公司增资麻烦吗?
  • 投资者撤回投资额300000
  • 房屋租赁发票在哪开
  • 预缴税款后怎么开票
  • 简易征收红冲报税方式是什么?
  • 企业盈利后又亏损怎么算
  • 国家动漫企业认定优惠政策
  • 电费的税费计入什么会计科目
  • 月中发当月工资是怎么算的
  • 公司账务审计费用取费标准
  • 外贸企业出口货物
  • 建筑公司小规模纳税人怎么做账报税
  • 支付的股权溢价款账务处理
  • 出口退税会计分录例题
  • 贷款损失准备的会计核算
  • 年终奖发放问题
  • php类和对象
  • wamp使用
  • php link指令
  • 罚款是否需要开发票
  • 旅行社专票开票内容的规定
  • 软件开发中的业务一般指什么
  • 比利时的平菇能吃吗
  • 待报解预算收入是社保扣费吗
  • 工地扬尘检测仪防尘缸怎么安装
  • laravel orm使用
  • php实现的功能
  • Vue3:探讨一下mixin
  • css点击菜单显示内容
  • 去年的所得税计提多了怎么做分录
  • golang 调用动态库
  • 入库管理业务流程图
  • phpcms建站教程
  • 金税盘清卡失败增值税未申报或未比对
  • 如何安装sql server2022
  • 增值税加计扣除最新政策2023
  • 房地产企业拆迁补偿费入账要求
  • 什么时候不能计入开办费
  • 安全生产费如何计量
  • 商品流通企业进货费用先进行归集
  • 营改增后建筑业怎么开票
  • 工程物资主要包括建筑材料
  • 政府奖励金怎么发放
  • 长期股权投资收回账务处理
  • 法院案件受理费退费申请
  • 职工医保门诊一年报销多少钱
  • 公司车子折旧相差多少
  • 摊销方法如何选择
  • mysql外键是什么意思
  • 三星笔记本电脑
  • win8windows设置在哪里
  • linux targz
  • 2019谷歌浏览器
  • windows xp的电脑
  • centos7如何安装telnet
  • WIN7如何设置屏幕保护密码
  • 旅游软件页面
  • js实现dialog
  • css布局的经典网站
  • linux修改磁盘格式指令
  • vue watch form
  • node发送邮箱
  • python多线程异常后所有线程均不往下执行
  • Unity3D Vuforia Android 拨打电话
  • jquery实例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设