位置: 编程技术 - 正文

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

  • 个人所得税纳税记录
  • 不含税买货合法吗
  • 出口免税收入会退税吗
  • 财务人员如何管理固定资产
  • 销项发票能不能留抵
  • 所得税季报什么时间扣款
  • 技术入股亏损如何清算
  • 员工备用金期末未报销怎么处理
  • 深圳增值税发票选择确认平台使用
  • 商铺出租怎么做账
  • 抵押贷款评估费用标准
  • 出口退税销项大于进项,需要交税吗
  • 我国流转税主要包括
  • 管理费用和财务费用算营业成本吗
  • 公司户进账一定要扣税吗
  • 车辆购置税是否计入固定资产
  • 房产税逾期有滞纳金吗
  • 拆迁安置房建设流程
  • 企业发生的运输费用怎么做账?
  • 工业企业该怎样建账?
  • 个人所得税费怎么计算2021
  • 蔬菜免税会计分录怎么做
  • 转回给挂靠单位的钱怎么做分录
  • 年终汇算清缴怎么计算
  • 进项税额转出会计分录月末如何结转
  • 会议展览服务费需要交印花税吗
  • 购置土地税款怎么入账?
  • 购买员工宿舍床上用品怎么入账
  • 已收款未发货会计分录
  • 分公司是小微企业总公司是一般纳税人,如何做合并报表
  • 销售嵌入式软件产品发票如何开具
  • php变量如何定义
  • PHP If Else(elsefi) 语句
  • 其他应付款很多
  • 增值税留抵抵欠流程
  • 土地使用权转让法律规定
  • 材料成本差异怎么结转
  • 小规模纳税人印花税减半征收政策
  • 织梦好用吗
  • 公司从银行提取现金4000元备作零星开支
  • 其他权益工具确认投资损失的账务处理
  • 开收据可以列收入吗
  • 进项税额加计扣除5%账务处理
  • php判断https
  • 财务报表的组成主要包括
  • 哪些普通发票可以抵扣
  • 未分配利润为负数可以分红吗
  • 哪些免征土地使用税
  • 购买现金支票的申请说明
  • 混合销售举例说明
  • 私募基金如何做账
  • 公司内部食堂招待费账务处理
  • 库存商品品种太多如何算成本
  • 公司注销帐务怎么处理
  • 固定总价合同与epc总承包合同区别
  • 电子发票开具流程?
  • 会计凭证装订时间法律规定
  • freebsd使用wifi
  • Windows Server 2008关闭闲置状态的IDE通道
  • linux 使用技巧
  • PSof1.exe - PSof1是什么进程 有什么作用
  • win8关机键怎么添加到开始菜单
  • win8恢复出厂设置找不到恢复环境
  • windows xp
  • linux怎么开启root权限
  • win7系统解决数字签名问题
  • win7系统关闭自动休眠
  • linux共享内存同步机制
  • excel怎么添加动态图
  • 推荐10 个很棒的电影
  • node urlencode
  • javascript sort排序
  • shell 方法调用
  • 请简述vue-router路由的作用
  • app启动页动画效果
  • Underscore.js 1.3.3 中文注释翻译说明
  • javascript判断
  • 税务局赵昭
  • 昌吉市税务大厅
  • 一般纳税人企业所得税5%还是25%
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设