Home > Article > Web Front-end > How to change this pointer in jquery
How to change the point of this in jquery: 1. Use assignment [var that=this;] to change the point of [this] of the nested function; 2. Use the es6 arrow function to change the point of this, the code is [$( 'div').on('click', function()】.
The operating environment of this tutorial: windows10 system, jquery2.2.4, this article applies to all Brand of computer.
The method for jquery to change this pointed to:
Use assignment var that=this;
to change the 'this of the nested function ' Point to
Use es6
arrow function to change this point to
<script> function show() { alert(this) } // show() //-> window // show.call(document) // ->document | 原生的方法 $.proxy(show, document)() // ->document | jQuery方法 </script>
tips: For a function that passes parameters such as show (c1, c2) in the above example, use .proxy()
There are also several scenarios where parameters are passed according to requirements, such as:
1. .proxy(show, document, c1, c2)
// -- > After adding (), call
2. .proxy( show, document )( c1, c2 )
// --> This is the direct call
<script> // 利用赋值 var that = this; 来改变嵌套函数的'this'指向 $('div').on('click', function() { var that = this setTimeout(function() { console.log(that) // -> div }) }) </script>rrree
Related free learning recommendations: JavaScript (video)
The above is the detailed content of How to change this pointer in jquery. For more information, please follow other related articles on the PHP Chinese website!