PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

jquery怎么改变this指向

coldplay.xixi
coldplay.xixi 原创
2020-11-18 15:17:45 2890浏览

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

本教程操作环境: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(视频)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。