javascript看qq中多事件绑定的执行顺序
事件绑定的执行次序
在W3C的标准下,事件绑定使用的是addEventLisenter。
但微软这家伙经常不按常理出牌。它提供的事件绑定方法是attachEvent。
关于attachEvent的种种不足,先不一一列举。或许我们已经忍受着用attachEvent来绑定事件。 //object.attachEvent(event, function);
el.attachEvent('onclick', method);
但当在同一元素上绑定多次,你就会知道,微软的这个私人的方法又是多么“不可理喻”。 el.attachEvent("onclick", method1);
el.attachEvent("onclick", method2);
el.attachEvent("onclick", method3);
el.attachEvent("onclick", method4);
在各个IE下运行,点击el后,各个方法的执行次序是:
IE6/IE7: method2 -> method4 -> method3 -> method1
IE8: method4 -> method3 -> method2 -> method1
IE9: method1 -> method2 -> method3 -> method4
IE6/7是一种看不出规律的随机执行,IE8是逆序执行,IE9是顺序执行。
无论常识还是W3C标准,这种同一个事件绑定了多个方法的情况,方法的执行次序都应该是先绑定先执行。从IE6-IE9的演变,可以看得出微软还是有在不断改进的。但毕竟各个版本的IE存在,使得我们不得不注意绑定在同一事件上的多个方法之间不要有顺序依赖。
YUI2的事件绑定并没有对执行次序做兼容,如果有些场景的确需要绑定多个方法且方法间需要顺序执行。那我们就只能自己实现了,大致思路是:在先判断绑定的el对象上是否已经同一个事件类型的handlers,如果有则不会重复绑定而是把该对象的handler合并到handlers中成为一个方法,相当于这样function c(){ a(); b();},按照顺序的压入方法实现在IE下不会出现绑定多个方法时能顺序执行。 functionaddEvent(el, type, handler){
if(el.attachEvent){// IE
// 为元素的事件类型创建一个哈希表
el._events=el._events||{};
if(!handler){return;}
// 取得事件处理函数的数组的引用
var handlers =el._events[type];
if(handlers){
if(typeofhandler._index==='undefined'||
handlers[handler._index]!== handler){
// 将事件处理函数存入数组
javascript事件绑定
事件绑定的方法 事件绑定是指构造一个响应系统或者用户动作的 HTML 元素的过程。... javascript看qq中多事件... 3页 4下载券 关于javascript事件 11页 1下载券 ...
Javascript执行顺序的总结
Javascript执行顺序的总结 JavaScript程序执行顺序问题...没错,下面这样的程序确实看起来像“多线程”: view...onload等等浏览器事件的调用函数;还有Ajax异步请求数据...
JavaScript执行顺序
1.6.4 借助事件机制改变 JavaScript 执行顺序 由于 JavaScript 是按块处理代码,同时又遵循 HTML 文档流的解析顺序,所以在上面示例 中会看到这样的语法错误。但是当...
Javascript在页面加载时的执行顺序
Javascript在页面加载时的执行顺序_计算机软件及应用...放在事件处理程序中,比如:点击我...需要注意的是, 如果存在多个 winodws.onload 的话, 只有最有一个生效...
JavaScript的执行过程详细研究
代码在装载时的执行顺序也是根据脚本标签 的出现 的组成部分,所以 JavaScript 代码... javascript看qq中多事件... 3页 4下载券 javascript脚本何时被执... 暂无...
javascript事件
G JavaScript事件 23页 免费 javascript事件绑定 8...事件在传播 优点:一个事件可以添加多个处理程序。(触发时,按添加顺序执行) 事件处理程序– IE事件...
关于javascript事件
G JavaScript事件 23页 免费 javascript事件绑定 8页 8财富值 javascript事件...添加多个监听函数; ●在 IE 浏览器中,函数的执行顺序与函数的添加顺序相反; ...
JS执行顺序
1.6.4 借助事件机制改变 JavaScript 执行顺序 由于 JavaScript 是按块处理代码,同时又遵循 HTML 文档流的解析顺序,所以在 上面示例中会看到这样的语法错误。但是当...
JavaScript事件
我的记录( 事件) 我的记录(JavaScript 事件) ... JavaScript 中绑定事件监听函数的通用方法 [ add...监听函数的执行顺序应当是按照绑定的顺序执行; e、...
- 最优捕鱼策略
- 扣缴个人所得税明细报告表
- 扣缴个人所得税报告表(汇总)
- 砌块工程施工安全技术交底(最新版)
- 中国新声代里的所有歌曲,标明谁唱的
- 建设社会主义精神文明教案(最新)
- 砌块工程施工安全技术交底(新编版)
- 六年级数学下册 圆柱和圆锥的体积练习题 苏教版
- 1-3行星的运动、万有引力定律
- 2011年复旦大学新闻学研究生入学考研试题(完整版,不差题)
- 《“师德标兵”事迹材料》
- 多媒体数据压缩技术
- 2021年车间划线及标识管理要求
- 公文写作与处理实训四
- 消防安全工作考评奖惩制度通用版
- 执行jar文件myeclipse
- javascript加载顺序
- javascript省市级联
- javascript学习笔记
- javascript规范
- javascript弹出框
- javascript经典代码
- Myeclipse生成可执行的jar文件的方法2页
- 15分钟学会MyEclipse导出jar文件再装换成exe执行文2页
- MyEclipse中jar包管理技巧-项目配置文档4页
- 15分钟学会MyEclipse导出jar文件再装换成exe执行文2页
- MyEclipse导出jar文件3页
- MyEclipse打包jar文件5页
- JavaScript原程序选择左右添加删除内容菜单2页
- javascript延迟加载2页
- Javascript在页面加载时的执行顺序4页
- JavaScript加载顺序的问题1页
- 为JavaScript程序添加客户端不可见的注释1页
- Javascript文件加载3页
- javascript---省市级联下拉框2页
- Concatenation of Graphs7页
- JavaScript获取中国各个省市、城市3页
- 省份城市联动菜单 Javascript4页
- javascript实现的省市级联功能2页
- 使用javascript解析xml实现省市县三级联动5页
- javascript学习笔记18页
- javascript学习笔记6页
- javascript学习笔记5 HTML DOM RegExp 浏览器检测 cookie11页
- javascript学习笔记4数组逻辑算数对象5页
- javascript学习笔记讲解版58页
- Java、数据结构、javascript学习笔记(2013年10月)--持续更新中。。。27页
- javascript开发规范要求(图文)1页
- javascript编程规范-修订版12页
- javascript编程规范11页
- javascript编码规范9页
- javascript编程规范15页
- C#、html、javascript相关规范46页
- javascript实现两个信息框弹出效果代码19页
- javascript弹出各种对话框2页
- javascript网页模拟弹出框7页
- jQuery和javascript控制悬浮菜单并弹出对应可拖动的资料框3页
- 04_JavaScript_复选框全选_弹出窗口16页
- JavaScript 弹出框和写入文档11页
- JavaScript 经典代码大全21页
- javascript经典代码大全20页
- 经典javaScript代码25页
- javascript经典代码大全20页
- 经典javaScript代码28页
- 经典javaScript代码13页