位置: 编程技术 - 正文

详解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数组函数面试题
  • PHP:oci_new_connect()的用法_Oracle函数
  • 项目设计费怎么计算
  • 员工奖励股权
  • 不知道哟
  • PHP函数func_num_args用法实例分析
  • 外贸出口退税企业差旅费可以抵扣吗
  • 微软商店 低价区
  • 知乎百万大v
  • 酒店里用了收费的东西怎么算
  • 资产减值损失会影响营业利润吗
  • thinkphp验证码刷新
  • html基础总结
  • 企业期末结转本期实现的各项收入
  • 前端使用vue
  • 如何使用php给图片命名
  • dns管理控制台在哪里
  • 应收账款属于会计的哪个要素
  • 个体工商户季度超过9万怎么交税
  • 冲红的发票税款怎么处理
  • 资产处置开票填什么项目
  • 制造费用账户在月末一般没有余额
  • 以前年度费用退回
  • 增值税加计抵减是什么意思
  • 购进商品发生溢余
  • 现金付发票再摊销怎么算
  • 留抵会计分录
  • 退货销售折让会计分录
  • 法人转移公司资产怎么办
  • mysql 从库
  • sqlserver2012安装失败原因
  • 查询sql server版本
  • 数据库预处理语句
  • mysql转移表数据表
  • ubuntu怎么设置开机自启动程序
  • win2016 ntp
  • xp系统开机出现英文怎么办
  • windows7旗舰版怎么扩展c盘
  • win8粘贴板
  • mac怎么共享打印机设备
  • linux的防火墙配置文件
  • 用户访问控制手段
  • linux使用mv命令,结果文件不见了
  • opencv轻松入门
  • python3并发
  • node.js django
  • ug怎么加载制图模板
  • unity uma
  • android 圆形图片
  • node使用
  • listview报错
  • python 解析
  • 税务局高风险是怎么办
  • 广东电子税务局官网登录入口手机版
  • 出口退税备案单证目录
  • 无锡城市生活垃圾处理费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设