jQuery ToolTip プラグイン (以下、Tooltip) のコードを調べていると、よくわからない動作に気づきました。
ツールチップは、次のようにマウスオーバー機能をバインドします。
.mouseover(save)
この方法で呼び出すと、this
変数はHtmlDivElement
.
をこれに変更してみmouseover
ました:
.mouseover(function(e){save(event)})
私はMouseEventを探しているので。ただし、現在、this
変数はWindow
です。
これをベイパスして、次HtmlDivElement
のコード行を使用して取得する方法を見つけました。
.mouseover(function(e){save(this, event)})
this
関数内の代わりとして使用しthis
ます。
私の質問はsave
、マウスオーバーバインディング内の無名関数内で呼び出されると、関数がスコープを失うのはなぜですか?