Rumah  >  Artikel  >  hujung hadapan web  >  jquery怎么改变this指向

jquery怎么改变this指向

coldplay.xixi
coldplay.xixiasal
2020-11-18 15:17:453152semak imbas

jquery改变this指向的方法:1、利用赋值【var that=this;】来改变嵌套函数的【this】指向;2、利用es6箭头函数改变this指向,代码为【$('div').on('click', function()】。

jquery怎么改变this指向

本教程操作环境:windows10系统、jquery2.2.4,本文适用于所有品牌的电脑。

jquery改变this指向的方法:

利用赋值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 )  //   --> 这就直接调用了

    <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>
    <script>
     // 利用es6 箭头函数 改变 this指向
      $(&#39;div&#39;).on(&#39;click&#39;, function() {
         setTimeout(() => {
         console.log(this) // -> div
        })
     })
    </script>

相关免费学习推荐:JavaScript(视频)

Atas ialah kandungan terperinci jquery怎么改变this指向. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:jquery如何验证元素是否为空Artikel seterusnya:jquery有哪些框架