文章详情页
javascript - 关于事件绑定时指定this的问题,求助
问题描述
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:讲真,第一种,很常见了,用多了也没啥。
当然,如果喜欢第二种,可以考虑用bind的polyfill(即在没有bind的情况下利用call等方法来实现bind)。
ps: es6的话,箭头函数就没有这种烦恼,但正如第二种的情况,只支持高版本现代浏览器。
标签:
JavaScript
相关文章:
1. JAVASCRIPT 构造函数和原型互相指向问题?求助!!!2. PHP求助,求帮忙谢谢各位3. 非root安装MySQL5.6报错,求助!!!4. javascript - gulp-babel不能转码数组的fill方法和Object.assign方法?求助5. javascript - 求助Angular 1 在$scope里向对象属性赋值不起效的原因(作用域问题),无尽感激!6. github - 求助大神啊,win10 git clone error,折腾了几天都不行,以前原本好好的,突然就这样了7. 调用百度翻译API,在JAVA项目可以翻译,在android中却不行。求助8. 紧急求助-我们的一位同事突然离职,需要一个后端的同事,项目才能进行,停滞了,那位可以帮帮忙?9. 【求助大神】PHP初学者的学习规划和视频课程推荐(详细一些)10. javascript - 求助一个关于indexedDB的问题
排行榜