快速注册天涯账号

已有天涯账号?登陆

这里是hada19840707所提的问题,您需要登录才能参与回答。
"天涯问答"是天涯社区旗下的问题分享平台。在这里您可以提问,回答感兴趣的问题,分享知识和经历,无论您在何时何地上线都可以访问,此平台完全免费,而且注册非常简单。

中attachEvent中this的指向问题?

在IE中使用事件绑定函数与web标准是不同的,web标准中使用addEventListener方法为dom对象添加事件监听。但是万恶的IE却有自己添加事件监听的方法---attachEvent方法。在attachEvent中this的指向是window。如何兼容高级浏览器与低级IE的事件?

14-09-19  hada19840707 发布
  • 0

    hada19840707 这家伙很懒,什么也没留下

    varEvent={};

    Event.addEvent =function(target,eventType,handle){

    if(document.addEventListener){

      target.addEventListener(eventType,handle,false);

    }elseif(document.attachEvent){

      target.attachEvent('on'+eventType,function(){

    //这里改变this的指向

    handle.apply(target,argumentsArray);

    });

    }else{

      target['on'+eventType] = handle;

    }

    };


    这里只是一个框架思路,如果想让程序更强壮一些,可以添加一些参数类型判断等等

    detachEvent同理。

    14-12-23 | 添加评论 | 打赏

意见反馈 帮助