位置: 编程技术 - 正文

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

  • 报税扣款锁定如何解除
  • 企业所得税和增值税重复收税了吗
  • 基础电信服务税率和增值电信服务税率
  • 进项税额不允许抵扣怎么计算
  • 库存商品月末必须结转吗
  • 废机油处理多少钱一吨
  • 劳务公司临时工工资需要申报吗
  • 报销用的发票抬头写什么
  • 小规模纳税人超500万后何时认定为一般纳税人
  • 怎么计提应交税费
  • 关联的公司
  • 经营利润所得税费用的计算公式
  • 记账凭证是否要记账
  • 增值税专用发票电子版
  • 代发农民工工资承诺书
  • 园林绿化工程税点
  • 非征期不能抄报
  • 服务性行业受气
  • 抵扣发票可以在哪里抵扣
  • 会计人员需要承担的责任
  • 收到存款利息收入
  • linux更改指定用户的相关信息
  • php curl_multi_init
  • amr文件怎么转换为mp3
  • 尿急尿频尿不尽吃什么药效果好
  • 旅行社专票开票内容的规定
  • php验证身份证号
  • html制作网页教程
  • vue3版本网页小游戏
  • js中this指向有几种情况
  • 商贸公司如何结转销售成本
  • 间接费用计算
  • 税审报告什么时候需要
  • 报表按季度报是什么意思
  • 建筑企业异地预缴增值税计算
  • 研发费用归集范围有哪些
  • 增值税普票遗失可否用复印件入账
  • 预缴所得税可以调减吗
  • php.ini上传限制
  • mongodb常用命令
  • 受让应收账款的账务处理
  • 企业投资一个小时多少钱
  • 保证金存款账户需要销户吗
  • 政府补助的相关法律法规
  • mysql8.0存储过程
  • 代收资金清算过程
  • 递延收益按多少折算
  • 收到的发票怎么做分录
  • 劳动仲裁要出面吗
  • 会计凭证的主要种类
  • mysql 非聚集索引
  • mysql事件id100
  • sql作业怎么执行
  • 在SQL查询中使用WHERE子句指出的是
  • sqlserver数据库怎么导出
  • 微软edge浏览器在哪
  • windowsxp错误提示
  • ubuntu怎么编辑文件
  • 怎么压缩视频
  • 苹果电脑安装macos怎么安装
  • U盘安装centos7步骤
  • linux不能识别u盘
  • mm server conection failed
  • nmeo.exe是什么
  • 内存使用过低
  • linux系统磁盘管理的主要内容
  • Linux怎么添加用户
  • linuxmint设置中文
  • linux脚本作用
  • Unity符国新:3D技术将渗透到生活的各个方面
  • opengl入门视频教程
  • jquery返回顶部
  • vue中的组件通信
  • javascript indexOf方法、lastIndexOf 方法和substring 方法
  • mvc使用
  • 广东省通用机打发票
  • 税务分享风险如何解决
  • 上海房产税2021征收对象
  • 陕西地税局电话号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设