位置: 编程技术 - 正文

详解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种解决方案)

  • 以前年度所得税滞纳金的账务处理
  • 税收指的是什么
  • 增值税专用发票抵扣税额是什么意思
  • 做了进项税转出后要结转么
  • 其它综合收益影响因素
  • 收到短期贷款会计分录
  • 仓库产品出库到货时间
  • 买材料的仓储费会计分录
  • 收到的抵债资产属不属于所有者权益
  • 借别人的公账转账犯法吗
  • 企业销售矿产是否需要缴纳资源税呢?
  • 没有签字的支出凭证怎么处理?
  • 进口关税完税价格
  • 不用发票可以报销吗
  • 自收自支事业单位
  • 销售土地使用权的增值税税率
  • 在天猫店铺后台中的提现怎么做会计分录?
  • 给客户的回扣做账时怎么写情况说明
  • 供应商赠送的原材料怎么做分录
  • 实际成本法的会计分录怎么写
  • 其他应收款代扣代缴个人所得税
  • switpa.exe - switpa是什么进程
  • 清卡处于非征期是什么意思
  • 经营租入的设备计入什么科目
  • php json
  • 丢失增值税专用发票最新规定
  • 销售方收到购买方的红字信息表
  • 交易性金融资产属于流动资产
  • 公司偷税漏税有哪些表现形式
  • 快速制作一个演示文稿可用什么
  • 残疾人保障金是什么科目
  • 交易性金融资产的入账价值
  • devtools安装mac
  • 如何快速上手看门狗2
  • php解析xml文件
  • phpcms模板下载
  • 帝国cms怎么用
  • 研发专利什么意思
  • 周转材料二级科目有哪些
  • python中的thread
  • 税金及附加如何预测
  • 公司收到注册资本金需要做哪些呢
  • 前期费用怎么计算
  • 增值税销项税额抵减账务处理
  • 应交税金及附加怎么计算
  • 收到成本发票如何记账
  • 帮客户代付保证金合法吗
  • 如何判断会计政策变更
  • 诉讼代理费计入成本吗
  • 长期股权投资减值准备是什么意思
  • 生产型企业电费会计分录
  • 核算管理工作
  • mysql根据时间查询最新一条数据
  • sqlserver 索引
  • windows下修改uuid的工具
  • navicate创建存储过程
  • window mysql
  • linux calloc
  • Linux系统安全管理的内容包括
  • winpsd.exe - winpsd是什么进程
  • mac迁移助理是什么意思啊
  • gnuradio编写模块
  • windows用户注册
  • windows 8.1 build 9600
  • win7系统的电脑
  • linux配置命令
  • windows.prompt用法
  • win8.1 安装
  • linux免安装软件
  • Cocos2d-x c++和java相互调用
  • node.js最新版
  • linux批量修改文件时间
  • node.js使用mysql
  • arraylist100扩充几次
  • jq easyui
  • android网络框架okhttp
  • wordpress教程
  • input checked选择
  • javascript面向对象吗
  • 广东国税局发票查询系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设