位置: 编程技术 - 正文

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

  • 怎么看运费
  • 小规模纳税人的起征点是多少
  • 专用发票压线了可以拒收吗
  • 商业银行贷款账号如何查询
  • 计提折旧不考虑所得税吗
  • 资产减值准备怎么转回
  • 个贷系统平账户
  • 固定资产清单申报是什么意思
  • 利润是负数不用计提所得税规定是什么?
  • 金税盘抄税报税流程
  • 企业预缴多交税了如何申请退税
  • 分公司收到总公司拨款怎么做分录
  • 进项发票已入账抵扣后开负数红冲怎么处理
  • 增值税发票附表
  • 小规模纳税人三个月做一次账
  • 默认网关不可用修复后过一会又不好使了
  • win7电脑加入域
  • 财政拨款收入是指行政单位从哪里取得的预算资金
  • win7提示windows进行了未授权的更改
  • php的pdo
  • 房屋建筑物改扩建税务处理
  • 包装物损坏无法确认
  • php设计思路
  • php多维数组合并相同key
  • 金钱树的养殖方法 盆栽
  • 个人所得税有哪些可以减免的项目
  • php pdo oracle
  • vue如何销毁页面
  • 预算超支怎么办
  • 金蝶利润表主营业务成本公式
  • 分公司?
  • 工会账户必须是专用账户吗
  • 目标检测 2021
  • php 微信公众号自定义菜单
  • 库存盘亏进项税怎么抵扣
  • phpcms v9官网
  • 低值易耗品需要计提吗
  • 基本户发工资的规定
  • 公司买15万的车可以抵扣多少税
  • mysql load local
  • 在建工程账务处理会计分录
  • 交易性金融资产公允价值变动怎么算
  • 可明确区分的商品什么意思
  • 用友t3软件财务软件具体操作
  • 预收账款可以长期挂账吗
  • 纳税检查企业多缴企业所得税如何处理
  • 应交税费要计提吗?
  • 自产产品对外捐赠确认收入吗
  • 免抵税额要交税吗
  • 出口退税申报的报关单无电子信息
  • 小企业会计准则和一般企业会计准则的区别
  • 未分配利润期初余额怎么录入
  • 税收分类编码填错有影响吗
  • 什么是划分?划分应当遵守哪些规则?
  • linux下mysql的root密码忘记的解决方法
  • 开启win7
  • ubuntu卸载ubuntu-desktop
  • .exe是什么软件
  • 的四个步骤
  • windows10预装
  • win10系统安装了打印机驱动找不到打印机
  • Win10怎么打开屏幕键盘
  • win7系统笔记本摄像头在哪里打开
  • win8使用手册
  • dos怎么开启
  • jquery动画库
  • font:inherit
  • perl读取文件内容到数组
  • perl中的$_
  • ftp下载工具能自动登录ftp服务器
  • pycharm怎么学
  • Node.js中的事件循环是什么意思
  • jquery遍历dom
  • node.js 的适用场景?
  • shell脚本监听端口
  • js赋值input
  • js继承的概念
  • jquery获取url地址
  • 高新企业人才落户北京
  • 棚户区改造的回迁房能办房产证吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设