为什么要用匿名函数
来源:3-2 用构造函数的形式重写dropdown模块
qq_宝慕林0111505
2020-01-21 16:38:01
为为什么要用匿名函数包裹self.show(),直接用hover(self.show, sele.hide)为什么不行
2回答
好帮手慕慕子
2020-01-21
同学你好, 因为this.$elem.hover(self.show,self.hide);这样写, show和hide方法中this指向的是当前DOM元素。示例:

打印结果:

由打印结果可知,DOM对象无法使用jQuery的addClass方法, 也无法通过this获取到添加到实例化对象上的属性与方法,所以会报错。

建议:参考老师的方式实现效果。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
好帮手慕慕子
2020-01-21
同学你好,这个hover是jQuery提供的, 接收两个回调函数作为参数,这是固定的用法,同学记住即可。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题