位置: 编程技术 - 正文

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

  • 应付职工薪酬纳税调整
  • 购进农产品的进项税额是9还是10
  • 包装版费怎么计入生产成本
  • 地税补缴社保
  • 收到红字进项发票需要认证么
  • 事业单位补发
  • 发票认证后怎么打明细
  • 农产品增值税抵扣新政策2021
  • 公司内帐和外账的区别
  • 错账的查找方法及适用范围
  • 一次性加速折旧汇算清缴调增吗
  • 承包方收取分包方费用
  • 金融服务利息
  • 开票系统服务费全额抵扣会计分录怎么做
  • 土地投资入股交什么税
  • 限额领料单属于什么原始凭证
  • 出口发票税率开错了怎么办
  • 天然气的销售需要什么资质
  • 在外省预交企业所得税
  • 钢结构安装有哪些工种
  • 专用发票的有效期是几年
  • 进口发票怎么认证
  • 企业对外投资需要哪些审批
  • 房租发票税金谁承担
  • 转正工资差额什么意思
  • 增值税一般项目是指什么
  • 劳务派遣公司开票几个点
  • 会计中坏账准备的借贷方向
  • 会计帐务处理程序
  • 工程结算如何进行
  • win10更新kb5005033
  • 公司和个人分别交什么税
  • php curd
  • 什么时编制
  • 库拉索的死
  • 马瑙斯市
  • 进项税和销项税谁交
  • laravel create
  • 信托融资放在哪个科目
  • thinkphp6调用模型的方法
  • 公司有个税怎么交
  • framework core
  • 应收账款科目有哪些类别
  • extract php函数
  • 上个月的留底税这个使用,会计分录
  • 增值税一般纳税人可以开普票吗
  • 企业贷款利息可以开发票吗
  • 融资租出的办公楼
  • 小规模纳税人分红要交税吗
  • 可供出售金融资产是流动资产吗
  • 个体户是什么概念
  • 合同履约成本如何设置明细科目
  • 收到政府补助怎么感谢
  • 损益类会计科目有哪些
  • 员工餐补是放入福利费吗?
  • 没有报关单可以出口吗
  • 如何做大建筑业企业
  • 员工借支备用金属于现金流量的哪类
  • 小企业会计应交所得税
  • windows使用痕迹是指是什么
  • window系统怎么用
  • linux服务器怎么连接wifi
  • redhat网卡配置文件
  • IPad怎么连接电视机看看影视
  • win7系统如何卸载office2007
  • kmsss.exe是什么
  • linux命令文件移动
  • win10激活过期有什么影响吗
  • windows7组织
  • linux bfs
  • Android setVisibility的总结~
  • perl教程 pdf
  • perl子函数
  • cocos2dx 3.3 tilemap 缩放滑动并且准确点击对象
  • node wechat
  • 对于javascript理解
  • jquery audio
  • android自定义view的三大流程
  • 单位医保账号怎么注销掉
  • 轮胎消费税的征收环节
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设