• 赵振民的专栏作者中国国家地理网 2019-07-17
  • 当明星的恋人是种怎样的体验? 有故事的人 2019-07-17
  • 岭南佳果飘香 周边摘果正当时 2019-07-15
  • 细胞癌变与“自毁蛋白”无处立足有关 2019-07-15
  • 【孙吴天气】最新孙吴今天天气,实时提供孙吴气温、空气质量、24小时天气预报、生活指数查询 2019-07-11
  • 韩朝举行将军级会谈 决定完全修复军事通信线路 2019-06-21
  • 张育林代表推进泰兴经济社会发展高质量上台阶 2019-06-19
  • 男子谎称哥哥当师长能帮上军校 骗13万余元被抓 2019-06-19
  • 军情锐评:搬起石头砸自己脚?特朗普限制中国留学生或削弱美科研能力 2019-06-14
  • 朝阳全区开展“迎端午大扫除” 让居民生活环境有面子更有里子 2019-06-14
  • 印总理莫迪官邸上空现"不明飞行物" 引发短暂骚动 2019-06-09
  • “燃情世界杯 狂欢过足瘾”河北人自己的足球盛宴来啦! 2019-06-04
  • 上班族用手机电脑过度 肩颈僵硬疼痛怎么办-生活资讯 2019-05-09
  • 买房怎么看风水这个真的实在是太重要了 ——凤凰网房产北京 2019-04-30
  • 力度空前!个税起征点提高至每月5000元!还有这些消息与你的钱包有关 2019-04-30
  • javascript看qq中多事件绑定的执行顺序

    辽宁风采35选7好运彩 www.rfdmf.com 事件绑定的执行次序

    在W3C的标准下,事件绑定使用的是addEventLisenter。

    但微软这家伙经常不按常理出牌。它提供的事件绑定方法是attachEvent。

    关于attachEvent的种种不足,先不一一列举?;蛐砦颐且丫淌茏庞胊ttachEvent来绑定事件。 //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){

    // 将事件处理函数存入数组

    Word文档免费下载Word文档免费下载:javascript看qq中多事件绑定的执行顺序 (共3页,当前第1页)

    你可能喜欢

    • 执行jar文件myeclipse
    • javascript加载顺序
    • javascript省市级联
    • javascript学习笔记
    • javascript规范
    • javascript弹出框
    • javascript经典代码

    javascript看qq中多事件绑定的执行顺序相关文档

    最新文档

    返回顶部
  • 赵振民的专栏作者中国国家地理网 2019-07-17
  • 当明星的恋人是种怎样的体验? 有故事的人 2019-07-17
  • 岭南佳果飘香 周边摘果正当时 2019-07-15
  • 细胞癌变与“自毁蛋白”无处立足有关 2019-07-15
  • 【孙吴天气】最新孙吴今天天气,实时提供孙吴气温、空气质量、24小时天气预报、生活指数查询 2019-07-11
  • 韩朝举行将军级会谈 决定完全修复军事通信线路 2019-06-21
  • 张育林代表推进泰兴经济社会发展高质量上台阶 2019-06-19
  • 男子谎称哥哥当师长能帮上军校 骗13万余元被抓 2019-06-19
  • 军情锐评:搬起石头砸自己脚?特朗普限制中国留学生或削弱美科研能力 2019-06-14
  • 朝阳全区开展“迎端午大扫除” 让居民生活环境有面子更有里子 2019-06-14
  • 印总理莫迪官邸上空现"不明飞行物" 引发短暂骚动 2019-06-09
  • “燃情世界杯 狂欢过足瘾”河北人自己的足球盛宴来啦! 2019-06-04
  • 上班族用手机电脑过度 肩颈僵硬疼痛怎么办-生活资讯 2019-05-09
  • 买房怎么看风水这个真的实在是太重要了 ——凤凰网房产北京 2019-04-30
  • 力度空前!个税起征点提高至每月5000元!还有这些消息与你的钱包有关 2019-04-30
  • 4场进球彩对阵表 山西十一选五任六遗漏 摇钱树四肖中特 30选5开奖号湖北 竞彩计算器混合过关 贵州快三游戏规则图片 黑龙江快乐十分开奖走势图 福彩3d选号技巧 南粤风采36选7的历史 中国足彩网首页手机版 2019开奖记录查询结果 吉林11选5任三最大遗漏数据 巴黎人娱乐场备用网址 超级大乐透走势图网 中国赛勇士比分直播