位置: 编程技术 - 正文

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

  • 个人所得税预扣率10%
  • 小规模纳税人劳务费税率1%
  • 通行费 发票
  • 税前可以扣除的有哪些费用
  • 个人房租费收入怎么做账
  • 公司转让注册资金怎么弄
  • 公司购入汽车应交什么税
  • 公司股权折价收入怎么算
  • 以非现金资产清偿债务的会计处理
  • 地税能不能查到个人的贷款行为?
  • 异地预缴增值税后本地还要交吗
  • 当月所得税是什么意思
  • 财产收购的税务处理
  • 差额发票开具的步骤
  • 固定资产当月清账怎么算
  • 加工费计入什么费用
  • 小贷公司贷款的流程是什么
  • 银行账户注销以后预留印鉴
  • 酒店购买矿泉水再卖给客人怎么处理
  • 减资弥补亏损是什么行为
  • 如何更改中英文切换
  • 广告费和业务宣传费
  • 计提水电费用什么科目
  • 为什么win7系统用不了谷歌浏览器了
  • 在电脑中设置一键换机
  • php ftp功能
  • 销售费用里面的支付的安装人工费汇算清缴时计入哪里
  • kb4598481是什么
  • element ui el-table
  • PHP:pcntl_exec()的用法_PCNTL函数
  • 委托代建的法律规定
  • 若依项目制作饼状图和柱状图
  • 出口退税需要提供什么
  • auto系列软件
  • 房地产开发企业应该具备哪些条件
  • patriotic研究
  • php防止用户重度登录
  • 商品流通的企业
  • 外地预交的企业所得税如何在季度企业所得税申报
  • 企业所得税季报是填累计数吗
  • 过路费属于会计哪个科目
  • 收款收据可以盖业务章吗
  • 企业所得税如何征收
  • 网上申报完还需要去税务局吗
  • java队列用法
  • 织梦如何使用
  • java 代码简洁
  • mysql备份方式有哪些
  • 利润分配未分配利润期末有余额吗
  • 电商商品采购流程
  • 事业单位的结余与企业的利润相比
  • 销售货物收到托运怎么办
  • 新准则公允价值变动科目余额为负数
  • 应收账款入账价值包括现金折扣吗
  • 差额征收的有哪些
  • 两家公司的钱混着用怎么做账
  • 已认证的招待费怎么入账
  • 企业存货计价方法发生变更案例
  • 农产品进项税额会计分录
  • 管理费怎么扣除
  • 建账有哪几种方法
  • 解析视频
  • Windows 7 和 Vista 下使用 Alipay 的解决方法总结
  • 数码相机无线连接手机
  • ora01804怎么解决windows
  • 在苹果电脑mac上怎么下载
  • 如何知道自己的邮箱号
  • win8如何打开设置
  • windows8.1开机
  • win8平板触摸键盘没反应
  • dosbox终止程序
  • cocos2djs
  • Node.js中的什么模块是用于处理文件和目录的
  • Node.js中的事件循环是什么
  • JavaScript html5 canvas绘制时钟效果
  • javascript获取数据类型
  • 归并代码
  • 广州买房退税政策2020
  • 重庆职高学校推荐
  • 2018年申报时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设