位置: 编程技术 - 正文

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

  • 长期股权投资产生的投资收益属不属于非经常性损益
  • 怎样注册投资有限公司
  • 发票能减多少税
  • 比较优先股和普通股
  • 承兑汇票私人贴现要多久
  • 发票上有字迹可以拿去作废吗
  • 法人转入公司的资金怎么做账
  • 销售自己使用过的物品
  • 财务费用利息如何结转
  • 供应链公司的组织架构图
  • 公司没有给员工买社保怎么赔偿
  • 小规模企业如何变更营业范围
  • 减税降费各项政策
  • 营改增后,企业购进自用小轿车增值税
  • 建筑分包项目有哪些内容
  • 完税证明可以作为发票吗
  • 财务费用结转本年利润借贷方怎么记
  • 增值税当月计提当月交可以吗
  • 信息技术包括哪几个方面
  • 设计服务交文化建设税吗
  • 个人免征增值税起征点
  • 库存的物资
  • 筹建期间的广宣费
  • win10桌面网络图标怎么调出来
  • 补发票需要什么东西
  • 成本加成定价法包括()
  • 收到预付账款会对企业财务有影响吗
  • 销售人员领用材料
  • 商会账目
  • 税控机抵减增值税税额
  • mac系统怎么添加网络映射
  • element-plus vue
  • PHP:imagesettile()的用法_GD库图像处理函数
  • 转销盘盈会计分录
  • 结转已销售产品的实际生产成本会计分录
  • 递延所得税资产和递延所得税负债
  • pytorch sgd优化器
  • php隐藏图片地址
  • 新购入的汽车需要年检吗
  • 存货跌价准备的账务处理
  • sql 生成新表
  • 公司法人代表可以有几个
  • 变动成本法的计算步骤
  • 市政道路基础设施
  • 运输公司内账会计每天需要做什么
  • 金融企业有
  • 应付账款的主要成本包括
  • 应付账款冲减会计分录
  • 持有至到期投资减值准备
  • 员工报销签字流程
  • 外资企业股权转让给内资企业流程
  • 销售部门交通费计入什么费用
  • 递延所得税转回税率不一致
  • sql server常用
  • mysql复制命令
  • macbookair安装rosetta
  • 清除coms密码
  • win7怎么禁止系统自动更新
  • winmysqladmin.exe - winmysqladmin进程是什么意思
  • win7系统安装虚拟机
  • 安装完win8后没有无线网络
  • linux系统崩溃了怎么办
  • centos如何查看服务进程
  • win7旗舰版如何禁止更新
  • 如何使桌面图标透明
  • win10 无线热点
  • win7怎么设置局域网共享文件和操作
  • unity自动门
  • 批处理命令大全及用法
  • javascript数据结构与算法第三版
  • html中如何写java代码
  • 基于zepto的移动端轻量级日期插件--date_picker
  • 详解增发万亿国债细节
  • unity中事件分发系统 EventDispatcher
  • javascript异常
  • Windows下Eclipse+PyDev配置Python+PyQt4开发环境
  • 出口退税全流程
  • 税务登记证办理
  • 社保信息怎么补全
  • 张劲松身高体重出生年
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设