web基础学习之路

myBind封装库

2018-10-07  本文已影响0人  果木山

myBind封装代码

 (function () {
     Function.prototype.myBind=function (thisArg) {
         var outArg=[].slice.call(arguments,1);
         if("bind" in Function.prototype){
             return this.bind.apply(this,[thisArg].concat(outArg));
         }
         var _this=this;
         return function (e) {
             e=arguments.length===0?window.event:e;
             //IE浏览器下的兼容处理
             e.target=e.srcElement;
             e.pageX=(document.documentElement.scrollLeft ||document.body.scrollLeft)+e.clientX;
             e.pageY=(document.documentElement.scrollTop || document.body.scrollTop)+e.clientY;
             //阻止默认事件
             e.preventDefault=function () {
                 e.returnValue=false;
             };
             //阻止冒泡
             e.stopPropagation=function () {
                 e.cancelBubble=true;
             };
             return _this.apply(thisArg,outArg.concat(e));
         }
     };
 })();
上一篇 下一篇

猜你喜欢

热点阅读