知向前端
js兼容性及技巧总结
2015-4-14 Jon


一、js兼容性



1,js事件绑定 




ie8及以下使用

  attachEvent(事件名, 函数)

  例子:

    oBtn.attachEvent('onclick', function (){

      alert('a');

    });

    oBtn.attachEvent('onclick', function (){

      alert('b');

    });

    先弹出 b 后弹出 a



其他浏览器

  addEventListener(事件名, 函数, false)

    oBtn.addEventListener('click', function (){

      alert('a');

    }, false);

    oBtn.addEventListener('click', function (){

      alert('b');

    }, false);

    先弹出 a 后弹出 b



不使用事件绑定

  oBtn.onclick=function (){

    alert('a');//会被覆盖

  };

  oBtn.onclick=function (){

    alert('b');

  };

  只是弹出 b



兼容代码写法

<script>

  function myAddEvent(obj, ev, fn){

    if(obj.attachEvent){

      obj.attachEvent('on'+ev, fn);

    }

    else{

      obj.addEventListener(ev, fn, false);

    }

  }

  window.onload=function (){

    var oBtn=document.getElementById('btn1');

    myAddEvent(oBtn, 'click', function (){

      alert('a');

    });

    myAddEvent(oBtn, 'click', function (){

      alert('b');

    });

  };

</script>















发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容