位置: 编程技术 - 正文

详解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
  • 企业出售产品前,预收客户一笔货款
  • 蜻蜓翅膀特写怎么画
  • 工程完工后的质保金怎么入账
  • 产生永久性差异时为什么计税基础等于账面价值
  • ai生成二次元角色全身
  • 金税盘一定要有吗
  • 资产负债表利润表的勾稽关系
  • 竣工结算审计费用在线计算器
  • sql server2016使用
  • php单例模式懒汉和饿汉
  • 无形资产法
  • sysctl命令配置主机名
  • 认缴制和实缴制的区别
  • 接受非货币性资产投资会计处理
  • 其他应付款贷方余额表示谁欠谁
  • 印花税应计入哪里
  • 固定资产折旧完报废账务处理
  • 资产处置损益是什么类
  • 计划资产产生的股利
  • mongodb索引存储方式
  • 银行回单应如何打印
  • 政府的资本性投入需要交印花税吗
  • sql死锁的简单例子
  • 外资研发中心可以上市吗
  • 如何计算生产费用
  • 所得税税率变化对已确认递延所得税资产的影响
  • 退还多余的预收款项的会计分录
  • 电子增值税发票样本
  • 海关对旧设备进口规定
  • 临时设施摊销属于什么资产
  • 多发了工资怎么做账务处理
  • 设备丢失查找
  • mysql 5.7.11 winx64快速安装配置教程
  • 文件历史版本功能
  • linux图形化界面怎么打开命令窗口
  • vmwareworkstation10虚拟机
  • macos使用方法
  • vmware怎么配置网络
  • 红石cpu教程
  • css教程实例
  • python编程模拟
  • javascript入门教程
  • js怎么删除
  • python set集合取值
  • unity update优化
  • 怎样用在js中使用css的内容
  • De facto standard 世界上不可思议的事实标准
  • 副局长哪里任命
  • 中国税务局官网热线
  • 出租车开的发票如何查询校验码?
  • 单位购买房产作废怎么办
  • 新加坡税务局电邮
  • 贵州铜仁苗族自治区
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设