位置: 编程技术 - 正文

详解JavaScript中的事件流和事件处理程序(javascript的用法)

编辑:rootadmin

推荐整理分享详解JavaScript中的事件流和事件处理程序(javascript的用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascriptz,javascript含义,javascript definitive guide,javascript的,javascriptcsdn,javascript的用法,javascript的用法,javascriptz,内容如对您有帮助,希望把文章链接给更多的朋友!

事件流:分两种,IE的是 事件冒泡流 ,事件开始时从最具体的元素接收,逐级向上传播到较为不具体的节点(Element -> Document)。与之相反的是 Netscape 的 事件捕获流 。

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

大多数情况下都是将事件处理程序添加到事件流的冒泡阶段。一个 EventUtil 的栗子:

下面我们详细来看:

DOM0级事件处理程序通过Javascript指定事件处理程序的传统方式,就是将一个函数赋值给一个事件处理程序属性。每个元素都有自己的事件处理程序属性,这些属性通常全部小写,例如onclick。将这种属性的值设置为一个函数,就可以指定事件处理程序。

优点:1.简单2.具有跨浏览器的优势缺点:在代码运行之前不会指定事件处理程序,因此这些代码在页面中位于按钮后面,就有可能在一段时间怎么点击都没反应,用户体验变差。

详解JavaScript中的事件流和事件处理程序(javascript的用法)

DOM2级事件处理程序定义了两个方法,用于处理指定和删除事件处理程序的操作:addEventListener()和removeEventListener()。三个参数,1.要处理的事件名。2.作为事件处理程序的函数3.一个布尔值。最后这个布尔值为true,表示在捕获阶段调用事件处理程序,false表示在冒泡阶段调用事件处理程序。

这两个事件处理程序会按照添加他们的顺序触发。大多数情况,都是将事件处理程序添加到事件流的冒泡阶段,这样可以最大限度的兼容各种版本的浏览器。

优点: 一个元素可以添加多个事件处理程序缺点: IE8及以下浏览器不支持DOM2级事件处理程序。(包括IE8)

IE事件处理程序定义了两个方法,与上类似:attachEvent(),detachEvent()。这两个方法接收相同的两个参数:事件处理程序名称和事件处理程序函数。由于IE8以及更早版本的浏览器只支持事件冒泡,所以通过detachEvent()添加的事件处理程序会被添加到冒泡阶段。

点击按钮,这两个事件处理程序的触发顺序与上述刚好相反。不是按照添加事件处理程序的顺序触发,刚好相反。

优点:一个元素可以添加多个事件处理程序缺点:只支持IE。

跨浏览器的事件处理程序

eg:

JavaScript中的跨浏览器事件操作的基本方法整理 绑定事件EU.addHandler=function(element,type,handler){//DOM2级事件处理,IE9也支持if(element.addEventListener){element.addEventListener(type,handler,false);}elseif(element.attachEvent){//ty

JavaScript中用let语句声明作用域的用法讲解 语法letvariable1=value1参数variable1要声明的变量的名称。value1赋给变量的初始值。备注使用let语句声明一个变量,该变量的范围限于声明它的块中。可以在

总结JavaScript设计模式编程中的享元模式使用 享元模式不同于一般的设计模式,它主要用来优化程序的性能,它最适合解决大量类似的对象而产生的性能问题。享元模式通过分析应用程序的对象,

标签: javascript的用法

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

上一篇:JavaScript中的Object对象学习教程(JavaScript中的方法名不区分大小写)

下一篇:JavaScript中的跨浏览器事件操作的基本方法整理(js跨域8种解决方案)

  • 营业外收入要交企业所得税吗
  • 小规模纳税人需要异地预缴吗
  • 增值税进项税抵扣时间
  • 白酒赠品赠什么方案
  • 私车公用如何避税
  • 股东所有者权益公式
  • 以前年度多缴的税款退回现金流量
  • 增值税发票已抵扣能否认定合同关系
  • 重新建账 和之前数据差的多
  • 包工包料和包清工
  • 医院 科室承包
  • 如何解决私账流水过大的问题?
  • 托收承付是收到钱了吗
  • 财政补贴收入是什么
  • 水电费差价收入计算增值税公式是怎样的?
  • 修理厂专票怎么开
  • 不得扣除任何费用的是
  • 施工单位的项目
  • 专用发票百万元版申请要求
  • 核定征收取消了
  • 营改增后小规模纳税人转一般纳人
  • 销售发票冲红的条件有哪些?
  • 无车承运业务如何开展
  • 返还的个税手续费奖励给个人需要缴纳个税吗
  • 控股公司如何抵押股权
  • 原材料明细账余额为零怎么写
  • 应交增值税出口退税年末如何结转?
  • 银行手续费会开发票吗
  • php oci
  • php计算时间
  • 资不抵债从资产负债表上怎么看出来
  • 为什么无线网密码对了就是连不上网
  • 路由器增强型
  • 阐述python中浅复制与深复制
  • 股东分红如何缴纳企业所得税
  • 模态框无法弹出
  • 固定资产的减值准备,一经确认,不得转回
  • 增值税留抵抵欠流程
  • php提交post数据
  • 挖机出租给公司
  • 数据库系统课程学什么
  • 10分钟学会万用表
  • 关税组成计税价格公式推导
  • bzip2命令压缩后无法保存原文件
  • 合伙企业与公司一样具有高度的人合性
  • 外贸出口企业的税务风险
  • 归还股东投资款
  • sqlserver连接数据库的方法
  • 权责发生制 会计
  • 年金现值和终值的关系
  • 开发票明目
  • 专项附加可以叠加吗
  • 公司购车按揭利率是多少
  • 产品检验费怎样计算
  • 运输公司的固定资产清单
  • 合同资产计提减值准备的依据
  • 先开收据再打款
  • 销售使用过的汽车增值税税率
  • phpstorm配置php环境 mac os
  • 删除sql server2008
  • mysql中汉字用什么类型
  • windows下命令
  • win7怎么设置麦克风权限
  • window10怎么设置蓝牙
  • microsoft office诊断
  • win8搜索不到文件
  • win7安全模式
  • win7网络连接无internet简单修复方法
  • Android从零单排02_Eclipse搭建Android环境01
  • bat删除隐藏文件
  • javascript中的继承
  • wordpress教程
  • 内蒙古国家税务
  • 浙江省网上税务局app下载
  • 税控系统技术维护费抵税怎么申报
  • 黑龙江省电子税务局官网下载
  • 政府收储土地需要缴纳什么税
  • 不明身份人员法律定义?
  • 河南省电子票据查询平台
  • 烟叶税是谁交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设