位置: 编程技术 - 正文

学习JavaScript事件流和事件处理程序

编辑:rootadmin

推荐整理分享学习JavaScript事件流和事件处理程序,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本文全篇介绍了JavaScript事件流和事件处理程序,分享给大家供大家参考,具体内容如下

一、事件流

事件流描述的是从页面中接收事件的顺序。IE的事件流是事件冒泡流,而Netscape Communicator的事件流是事件捕获流。

二、事件冒泡

即事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点。如:

当点击了页面中的div元素,那么这个click事件会按照如下顺序传播:

div元素 body元素 html元素 document对象

三、事件捕获

事件捕获的思想是最具体的节点应该最后接收到事件。事件捕获的用意在于事件到达目标之前捕获它。

当点击了页面中的div元素,那么这个click事件则会按照如下顺序传播:

document对象 html标签 body标签 div标签

虽然规范要求事件应该从document对象开始传播,但浏览器一般都是从window对象开始捕获事件的。因为老版本浏览器不支持,所以一般都使用事件冒泡。

四、DOM事件流

“DOM2级事件”规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。

在DOM事件流中,实际的目标在捕获阶段不会接收事件。就是说在捕获阶段,事件从document到html再到body后就停止了。下一个阶段是“处于目标”阶段,于是事件在div中发生,并在事件处理中被看成是冒泡阶段的一部分。然后,冒泡阶段发生。IE8及更早的版本不支持DOM事件流,浏览器在捕获阶段触发事件对象上的事件,结果就是有两个机会在目标对象上面操作事件。

五、事件处理程序

事件就是用户或浏览器自身执行的某种动作;事件处理程序(或事件侦听器)就是响应某个事件的函数。事件处理程序的名字以“on”开头,如onload、onclick等。

六、HTML事件处理程序

学习JavaScript事件流和事件处理程序

若要在按钮被单击时执行一些js代码,可以这样编写:

注意:不能在其中使用未经转义的HTML语法字符。

也可以调用在页面中其他地方定义的脚本:

事件处理程序中的代码在执行时,有权访问全局作用域中的任何代码。

这样使用会创建一个封装着的元素属性值的函数。这个函数有一个局部变量event,也就是事件对象:

其中,this值等于事件的目标元素,如:

HTML事件处理程序存在众多问题,所以应该使用js指定的事件处理程序

七、DOM0级事件处理程序

要使用js指定事件处理程序,首先必须取得一个要操作的对象的引用。

每个元素都有自己的事件处理程序属性,这些属性通常全部小写,如onclick。如:

使用DOM0级方法指定的事件处理程序被认为是元素的方法。因此,这时候的事件处理程序是在元素的作用域中运行的;也就是this引用当前元素:

以上述这种方式添加的事件处理程序会在事件流的冒泡阶段被处理。

删除通过DOM0级方法指定的事件处理程序:

八、DOM2级事件处理程序

addEventListener()

该方法接收三个参数:要处理的事件名、事件处理程序函数和布尔值;布尔值如果是true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用事件处理程序。如:

还可以为该按钮添加多个事件处理程序,如:

removeEventListener()

大多数情况下,都是将事件处理程序添加到事件流的冒泡阶段,这样就可以最大限度地兼容各种浏览器。

标签: 学习JavaScript事件流和事件处理程序

本文链接地址:https://www.jiuchutong.com/biancheng/382776.html 转载请保留说明!

上一篇:javascript产生随机数方法汇总(javascript产生随机整数随机性强)

下一篇:理解JavaScript事件对象

  • 商品流通企业税种有哪些
  • 加油站的成品油是石油公司配送吗
  • 什么是消费税?特征有哪些
  • 长期待摊费用对方科目
  • 合并报表是把资产负债表相加吗
  • 餐饮公司开分店还需要办手续吗
  • 收到其他与筹资活动有关的现金计算公式
  • 取得增值税专用发票要算税吗
  • 非上市公司自然股权转让
  • 工资计提多了怎么冲
  • 供热企业采暖费收入免征增值税政策解读
  • 一般纳税人可以不交增值税吗
  • 购买烟怎么做账
  • 成品油发票长什么样
  • 广告机计入什么费用
  • 进口付汇核销流程
  • 垃圾处理站利润
  • 电子税务局怎么变更财务负责人
  • 工会经费缴纳是当期
  • 打包贷款和出口信贷的区别和联系
  • 帮别的公司代销产品,对方公司不开具发票怎么做帐
  • 新成立的有限公司
  • 汇算清缴中的科目怎么填
  • windows10如何开启远程
  • 建筑企业自持商是指
  • 以前年度的收入和成本错了要怎么调
  • 工会经费,职工福利费,教育经费的扣除标准
  • 提示语是什么意思?
  • 苹果mac双系统按住哪个键
  • 购买专利权的会议纪要
  • php超强防cc页面
  • phpsetcookie
  • 小规模未达起征点免税分录
  • 公司内部往来双向挂账
  • 债务重组收入属于什么科目
  • echarts series name
  • 通过ChatGPT实现的ChatPDF,简单的应用落地,让你的文档变成一个智能助手,通过对话的方式快速学习文档内容
  • 固定资产被替换的账面价值怎么算
  • python frames
  • 给第三方的销售怎么做
  • 公司分红的会计分录
  • 个体户核定征收开票额度是多少
  • 土增尾盘销售应该如何申报收入
  • ms-sql-s
  • 解决掉发的有效方法
  • 金税四期来了我们前期要准备什么
  • 疫情期间上班,公司是否给员工买保险
  • 货物已到发票未开具
  • 附加税税率是指
  • 捐赠支出税前扣除比例
  • 应收账款的账期是什么意思
  • 收到投资款证明怎么做账
  • 如果我们交了房租,对方不给我们开发票
  • 设备的验证服务包括
  • FreeBSD下zfs: failed with error 6错误如何解决?
  • Win10系统如何取消密码
  • linux怎样浏览文件中的内容
  • 设置自动清理缓存电脑
  • 教程图解
  • apache是什么文件
  • linux wc命令如何实现
  • 在linux系统中
  • windows2008输入法
  • dos批处理命令大全
  • 关于自定义工作台的说法,正确的是
  • python中判断数值类型
  • 英语中our和my的区别
  • unity3d特效教程
  • vue基于什么
  • unity3d的
  • unity ui控件
  • 基于javascript的毕业设计
  • 残疾人买车可以减免购置税吗
  • 辽宁省国家税务总局
  • 发票扫码抽奖用什么软件
  • 浙江省有多少家农业银行
  • 免税开普票还是专票
  • 北京一证通如何安装安全控件
  • 计算土地增值税时下列费用准予从收入总额中扣除的有
  • 2023个税税率及速算扣除数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设