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

获取this的问题

获取this的问题

函数式编程 2018-10-10 13:15:25
问题是这样:我想写一个组件方法,方法中定义了this。当不同的按钮点击时调用这个方法,this都能指向这个按钮,然后获取到按钮的一些属性。然而事实是不管怎么调用this都指向了window,也想到调用这个方法时候把this作为参数传进去可以解决,但是总觉得不太妥。代码大概是这样子:var scale=function(){    var that=$(this);    console.log(that)};$(".btn").on("click",function(){      scale();//这里想要函数中的this指向这个".btn"})
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

函数当做函数调用的时候, 内部 this 要么指向window, 要么是 undefinded(严格模式),
你那样写, 明显就是函数调用, 理所当然的就是指向 window 啦.

当函数被注册成事件处理器的时候, 函数内部的 this 是指向发生事件的 DOM 节点.
所以, 直接这样

$(".btn").on("click", scale)

就可以了.
也可以参考其他回答, 用 bind, call, apply 绑定 this .


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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号