Heim  >  Artikel  >  Web-Frontend  >  So ändern Sie diesen Zeiger in jquery

So ändern Sie diesen Zeiger in jquery

coldplay.xixi
coldplay.xixiOriginal
2020-11-18 15:17:453141Durchsuche

So ändern Sie den Punkt davon in jquery: 1. Verwenden Sie die Zuweisung [var that=this;], um den Punkt von [this] der verschachtelten Funktion zu ändern. 2. Verwenden Sie die Pfeilfunktion es6, um den Punkt davon zu ändern. Der Code lautet [$('div') .on('click', function()].

So ändern Sie diesen Zeiger in jquery

Die Betriebsumgebung dieses Tutorials: Windows10-System, jquery2.2.4, dieser Artikel gilt für alle Marken von Computern.

So ändern Sie diesen Punkt in jquery:

Verwenden Sie die Zuweisung var that=this;, um den 'this'-Zeiger der verschachtelten Funktion zu ändern. var that=this; 来改变嵌套函数的 'this' 指向

利用es6箭头函数 改变this指向

    <script>
      function show() {
       alert(this)
      }
    //   show() //-> window
      //   show.call(document) // ->document  | 原生的方法
     $.proxy(show, document)() // ->document  | jQuery方法
  </script>

 tips: 对于一个传参的函数如上例中的 show(c1,c2),使用.proxy()也有几个场景,按需求进行传参,如:          

1. .proxy( show, document, c1, c2 ) // --> 加()后,才进行调用

2. .proxy( show, document )( c1, c2 )

Verwenden Sie es6-Pfeilfunktion, um den Zeiger davon zu ändern<blockquote><pre class="brush:php;toolbar:false"> &lt;script&gt; // 利用赋值 var that = this; 来改变嵌套函数的&amp;#39;this&amp;#39;指向 $(&amp;#39;div&amp;#39;).on(&amp;#39;click&amp;#39;, function() { var that = this setTimeout(function() { console.log(that) // -&gt; div }) }) &lt;/script&gt;</pre><p> Tipps: Für die Übergabe eines Parameters ist die Funktion wie show (c1, c2) im obigen Beispiel. Es gibt mehrere Szenarien für die Verwendung von <code>.proxy()code>. Parameter werden entsprechend den Anforderungen übergeben, wie zum Beispiel: <a href="https://www.php.cn/course/list/17.html" target="_blank" textvalue="javascript"></a>1.<code>proxy( show, document, c1, c2 ) // --> >

2.proxy( show, document)( c1, c2) // -->

Das obige ist der detaillierte Inhalt vonSo ändern Sie diesen Zeiger in jquery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn