为什么要用匿名函数

来源:3-2 用构造函数的形式重写dropdown模块

qq_宝慕林0111505

2020-01-21 16:38:01

http://img.mukewang.com/climg/5e26b77109c4f7d407120357.jpg为为什么要用匿名函数包裹self.show(),直接用hover(self.show, sele.hide)为什么不行


写回答

2回答

好帮手慕慕子

2020-01-21

同学你好, 因为this.$elem.hover(self.show,self.hide);这样写, show和hide方法中this指向的是当前DOM元素。示例:

http://img.mukewang.com/climg/5e26c1ce0980ed1e11140541.jpg

打印结果:

http://img.mukewang.com/climg/5e26c2010909d8a009940448.jpg

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

http://img.mukewang.com/climg/5e26c33c0936caac10950608.jpg

建议:参考老师的方式实现效果。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

好帮手慕慕子

2020-01-21

同学你好,这个hover是jQuery提供的, 接收两个回调函数作为参数,这是固定的用法,同学记住即可。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~


0
hq_宝慕林0111505
h (self.show, sele.hide)不也是传的回调函数吗
h020-01-21
共1条回复

0 学习 · 14456 问题

查看课程