位置: 编程技术 - 正文

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

  • 计提工资是计提哪个月的
  • 行政人员出差预借差旅费需要预算会计吗
  • 个税申报本期收入包括社保吗
  • 增值税专用发票抵扣期限
  • 计提坏账准备确认的信用减值损失累计金额
  • 行政单位现金日记账填写样本
  • 购买脚手架报价单
  • 跨月作废发票怎么开
  • 非居民企业的征税范围
  • 哪些发票可以进账认证
  • 小规模建筑企业预缴税款
  • 非税收入通用票据需要盖章吗
  • 退免税指的是增值税还是消费税?
  • 物业费纳税
  • 高新技术企业资助
  • 防洪基金怎么做分录
  • 挂靠公司代收入税金如何做分录?
  • 项目工程分包账务
  • 税务贷的用途
  • 有限合伙企业需要法人吗
  • 增值税报表上期留底税额填不上
  • 更新网页证书
  • 电脑找不到Realtek
  • 公司从其他公司买一个项目花了100万
  • php unset()
  • 代缴个税的分录
  • php数组实现原理
  • 挪威最北部
  • 前端常见错误
  • php的中文名
  • 小规模纳税人交税怎么做会计分录
  • java htmlparser
  • pdclient
  • 支付中介费和物业费比例
  • 买货没发票如何入账?
  • 增值税专用发票有几联?
  • 员工离职后个税申报系统如何操作
  • 红字发票开具错了,是否可以将其作废?
  • 社保公司承担部分计入哪个科目
  • mysql一对多关系如何一次性查出来
  • phpcms视频教程
  • 给第三方的销售怎么做
  • 公司有收入可不交社保吗
  • 商场账务
  • 厂区道路折旧年限最新规定
  • 提交表单数据有哪几种方法,php如何获取表单提交的数据
  • 一般纳税人可以开3%的发票吗
  • 出口退税三类企业影响
  • 税务机关如何对个人股东股权财务报表审核
  • 税前扣除凭证按照用途分为哪些
  • 专项拨款会计分录
  • 公司注销未认证怎么处理
  • 收到发票冲红怎么做分录
  • 一季度存款
  • 怎么解释税收
  • 发票认证申报期是什么时候
  • 修筑公路的流程视频
  • mysql如何实现多表查询
  • w10的产品密钥
  • windowns vista
  • ubuntu做lvm
  • 苹果电脑截图快捷键
  • linux的ftp命令
  • windows7怎么画画
  • winxp系统和win7系统有什么区别
  • ubuntu怎么建立文件
  • win个性化设置没反应
  • win10 累积更新
  • win10右键图片
  • unity 插件开发
  • word-wrap在firefox中不起作用的解决方法
  • Python读取Excel文件需要什么
  • unity ui碰撞
  • 用javascript
  • jqueryui
  • ShareSdk实现第三方分享功能
  • js script跨域
  • jquery中加载文档的方法
  • 结转城市维护建设税
  • 长期挂账的其他应付款的规定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设