ホームページ  >  記事  >  ウェブフロントエンド  >  jQueryでこのポインタを変更する方法

jQueryでこのポインタを変更する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-11-18 15:17:453063ブラウズ

jquery で this のポイントを変更する方法: 1. 割り当て [var that=this;] を使用して、ネストされた関数の [this] のポイントを変更します; 2. es6 アロー関数を使用して、この時点で、コードは [$( 'div').on('click', function()] です。

jQueryでこのポインタを変更する方法

このチュートリアルの動作環境: 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; 来改变嵌套函数的&#39;this&#39;指向
       $(&#39;div&#39;).on(&#39;click&#39;, function() {
        var that = this
        setTimeout(function() {
           console.log(that) // -> div
       })
     })
   </script>
rrree

関連する無料学習の推奨事項: JavaScript (ビデオ)

以上がjQueryでこのポインタを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。