位置: 编程技术 - 正文

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

  • 不含税金额怎么算含税金额
  • 工亡赔偿金如何支付
  • 无力支付什么意思
  • 失业保险费返还后是给单位还是给员工
  • 期初固定资产净值在资产负债表中的哪里
  • 工会经费可以支付哪些费用
  • 工程违约金收入如何入账
  • 盈利能力分析对企业发展的意义
  • 网店会计的工作内容是什么
  • 模具维修费用清单表格
  • 年末要计提所得税分录
  • 水利建设专项收入税率
  • 设定提存计划怎么填
  • 出租厂房算什么收入
  • 比赛奖金支出计入什么科目
  • 银行年费计入管理费用还是财务费用
  • 影响盈利能力的外部因素
  • macOS 11 Big Sur beta 4值得升级吗?macOS 11 Big Sur beta 4更新详解
  • 苹果手机抖音投屏到电视怎么投屏
  • win11更新补丁如何删除
  • 收到供应商现金怎么入账
  • php怎么定义全局变量
  • 酒店里用了收费的东西怎么算
  • php yield 异步
  • 带壳的栗子 (© Kai Keisuke/Shutterstock)
  • 企业的存货按计划成本核算
  • bug的5个级别
  • php验证码功能怎么实现
  • 非常经典的php文章
  • 报销钱大写数字
  • 珠宝行业会计核算内容
  • 核心书评价格
  • Yii2创建多界面主题(Theme)的方法
  • vnc viewer连接windows
  • 职工慰问金账务处理流程
  • python中htmlparser解析html
  • 上个月没扣社保 这个月一起交能报账吗
  • 固定资产转在建工程
  • 2个公司的法人怎么注销
  • sqlserver 进程死锁
  • 小规模城建税减半征收2020新政策
  • 股东权益合计是净资产吗
  • 库存股属于什么账户
  • 一般纳税人增值税申报表怎么填写
  • 个体工商户税收新政策
  • 门面转让费做账怎么做
  • 跨月的发票还能入账吗
  • 检测费专用发票会计分录
  • 其他应收款项
  • 影院会计有前景吗
  • 小企业会计准则适用于哪些企业
  • 企业净资产怎么填
  • 重要空白凭证是什么科目
  • 企业预付账款是什么意思
  • sql server 数学函数
  • mysql数据库主从数据不一致
  • sql操作方法
  • win10关掉搜索
  • xp怎么解压文件
  • 将IBM ServeRAID 8i卡的驱动整合到Win2003安装光盘里
  • XP从4月8日起将正式停止支持服务、升级到 Win 8.1图文教程
  • ubuntu12.04 amd64系统中lamp环境搭建方法
  • centos7安装过程报错
  • centos nis
  • 笔记本不支持win8
  • mac ds_store
  • win10系统怎么安装qq
  • windows8怎么去除广告
  • linux常用命令chmod的使用
  • 表单验证插件
  • perl变量后拼接字符串
  • media and
  • shell中的注释用什么表示
  • jquery tab
  • 省市区三级联动下拉表单
  • jquery自定义表单
  • 面向对象的基础知识
  • 河南省地方税务局公告2011年第10号
  • 青岛市税务管理局
  • 房产增值税和土地增值税的区别案例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设