我正在研究 jQuery ToolTip 插件(以下简称 Tooltip)的代码,并注意到我不完全理解的行为。
Tooltip 绑定一个 mouseover 函数,如下所示:
.mouseover(save)
以这种方式调用时,this变量是HtmlDivElement.
我尝试将其更改mouseover为:
.mouseover(function(e){save(event)})
因为我正在寻找 MouseEvent。但是,现在this变量是Window.
我找到了一种方法来解决这个问题并HtmlDivElement通过使用这行代码来获得:
.mouseover(function(e){save(this, event)})
并this用作this函数内部的替代品。
我的问题是-为什么save在鼠标悬停绑定内的匿名函数内调用该函数时会失去其范围?