myBind封装库

作者: 果木山 | 来源:发表于2018-10-07 19:06 被阅读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));
         }
     };
 })();

相关文章

网友评论

    本文标题:myBind封装库

    本文链接:https://www.haomeiwen.com/subject/aqfraftx.html