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));
}
};
})();