位置: 编程技术 - 正文

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

  • 增值税专用发票的税率是多少啊
  • 出口关税税率表
  • 印花税计入什么科目会计分录
  • 注会其他专业可以考吗
  • 建筑业小规模纳税人预缴增值税
  • 以前年度损益调整结转到未分配利润
  • 注册资本印花税按年申报还是按次申报
  • 中小型企业营业额和从业人数
  • 申报后发现成本算错了
  • 转回存货跌价准备为什么是可抵扣暂时性差异
  • 所有者投入的普通股会计分录
  • 有期末留抵税额增值税和附税还用计提和缴纳吗
  • 房地产企业被收购报表处理
  • 年终奖社保怎么算
  • 公司将固定资产卖出,要交什么税
  • 住房租赁补贴
  • 个人开增值税普通发票税率
  • 企业只有收入没有支出是否违规
  • 应交印花税会计分录
  • 公积金账户收入
  • 待抵扣进项税额是什么情况下用的
  • 一般纳税人增值税申报操作流程
  • 计算机著作权登记证书
  • 红冲发票后 库存怎么处理
  • 超市预付卡发票怎么开
  • 一般纳税人免税申报表怎么填
  • 破产清算应付账款
  • 企业增资需要缴纳什么税
  • 商场收取租金要缴纳哪些税
  • 企业自建自用房的规定
  • php curl_multi_init
  • 电脑桌面上的图片怎么打印
  • php __callstatic
  • 同业代付会计分录
  • 银行同业利息 水利基金
  • 委托贷款账务处理
  • Vite + Vue3 +Vant4构建项目时,按需引入使用Toast组件,引用 showToast 时出现编译报错的解决方案
  • javascript获取input的值并计算
  • 巨人堤道上的玄关图片
  • echarts饼图颜色设置
  • 个人所得税零报税怎么报
  • 27岁零基础转行做网络工程师
  • return函数
  • 退还多缴纳税款
  • 发票明细怎么导出数量
  • 融资租出的办公楼
  • 票据背书转让会计处理
  • 包工包料意思
  • 成本和费用有着根本的区别
  • 如何在个人所得税app上修改扣缴义务人
  • 利润计算公式是什么折扣
  • 车船税没有发票可以入账吗
  • 高速公路通行费抵扣税率
  • 向客户收取的承兑贴息款如何开发票
  • 公司活动费用分录
  • sql语句的子查询
  • mysql连接查询和子查询效率
  • vmware下ubuntu(linux)与主机文件共享设置的方法
  • 苹果电脑支持的u盘格式
  • win8系统开机
  • win8.1怎么用
  • linux 使用
  • 开发环境配置是干嘛
  • unity unity3d
  • 原生javascript开发
  • perl-v
  • JAVA的OPENGL,JOGL入门实例----碰撞移动的正方体 (配置+源代码)
  • opengl纹理贴图图片位置
  • css中渐变
  • jquery validate remote
  • node 操作mysql
  • 如何防止蟑螂爬到床上
  • 每天一篇文章锻炼口才的文章
  • 安卓怎样从旧手机把联系人导入新手机
  • :javascript
  • 为什么发莎
  • 如何将个税人员信息改为非正常
  • 地税总局局长
  • 土地增值税清算时间要求
  • 山东税务社保缴纳进入小程序
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设