jquery で this のポイントを変更する方法: 1. 割り当て [var that=this;] を使用して、ネストされた関数の [this] のポイントを変更します; 2. es6 アロー関数を使用して、この時点で、コードは [$( 'div').on('click', function()] です。
このチュートリアルの動作環境: Windows10 システム、jquery2.2.4、この記事はコンピューターのすべてのブランドに適用されます。
これを変更するための jquery のメソッドは次のことを指しました:
割り当てを使用する var that=this;
を使用して、「入れ子関数の this 」を変更します。
をポイントします。 es6
矢印関数を使用して、このポイントを
<script> function show() { alert(this) } // show() //-> window // show.call(document) // ->document | 原生的方法 $.proxy(show, document)() // ->document | jQuery方法 </script>
に変更します。 ヒント:上の例の show (c1, c2) などのパラメーターを渡す関数の場合は、 .proxy()
を使用します。また、要件に応じてパラメーターが渡されるシナリオもいくつかあります。
1. .proxy(show, document, c1, c2)
// -- > () を追加した後、
2 を呼び出します。 .proxy( show, document )( c1, c2 )
// --> これは直接呼び出しです
<script> // 利用赋值 var that = this; 来改变嵌套函数的'this'指向 $('div').on('click', function() { var that = this setTimeout(function() { console.log(that) // -> div }) }) </script>
関連する無料学習の推奨事項: JavaScript (ビデオ)
以上がjQueryでこのポインタを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。