为了账号安全,请及时绑定邮箱和手机立即绑定

关于事件绑定时指定this的问题,求助

关于事件绑定时指定this的问题,求助

繁花不似锦 2018-11-21 18:13:55
function Tab($selector){    var _this = this;        //    这种可以保证this正确,但是这样写很累赘    $selector.on("click", function(){        _this.switchIndex();    });            //    不兼容ie某些浏览器    $selector.on("click", this.switchIndex.bind(this));        //    这种方式绑定会导致switchIndex内部的this为$selector,除了上面那些,    //    还有其他比较自然的方式吗?    $selector.on("click", this.switchIndex);}Tab.prototype = {    switchIndex: function(){        //    ...    }};
查看完整描述

1 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

讲真,第一种,很常见了,用多了也没啥。

当然,如果喜欢第二种,可以考虑用bind的polyfill(即在没有bind的情况下利用call等方法来实现bind)。

ps: es6的话,箭头函数就没有这种烦恼,但正如第二种的情况,只支持高版本现代浏览器。


查看完整回答
反对 回复 2018-12-25
  • 1 回答
  • 0 关注
  • 447 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信