文章详情页
javascript - 关于事件绑定时指定this的问题,求助
浏览:158日期:2022-11-13 18:59:46
问题描述
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 - 关于addEventListener和attachEvent的兼容写法疑问,求助!2. 数据库 - Mysql的存储过程真的是个坑!求助下面的存储过程哪里错啦,实在是找不到哪里的问题了。3. mysql连表统计查询问题,求助4. javascript - 求助,nodeJS和koa2文档对新手小白太不友好,一脸懵逼。。。5. 关于android线程的一个小问题,菜鸟求助6. javascript - 求助:vue2.0中使用element ui遇到的问题7. python - thrift 返回 TSocket read 0 bytes 求助!!!!8. 手机开发 - Android蓝牙模块连接后怎么接收数据?求助9. angular.js - angular post的Content-Type被设置,导致不能上传图片,求助!!10. javascript - 求助,html5如何调用摄像头拍照??
排行榜
