Heim > Artikel > Web-Frontend > So ändern Sie diesen Zeiger in jquery
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()].
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 )
es6-Pfeilfunktion, um den Zeiger davon zu ändern<blockquote><pre class="brush:php;toolbar:false"> <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></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!