jquery怎么改变this指向


本文摘自PHP中文网,作者coldplay.xixi,侵删。

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指向

1

2

3

4

5

6

7

8

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

1

2

3

4

5

6

7

8

9

<script>

  // 利用赋值 var that = this; 来改变嵌套函数的'this'指向

    $('div').on('click', function() {

     var that = this

     setTimeout(function() {

        console.log(that) // -> div

    })

  })

</script>

1

2

3

4

5

6

7

8

<script>

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

  $('div').on('click', function() {

     setTimeout(() => {

     console.log(this) // -> div

    })

 })

</script>

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

以上就是jquery怎么改变this指向的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

详解jQuery中extend()和jQuery.fn.extend()的区别

jQuery怎么遍历list集合

jQuery不等于属性选择器是什么

基于jQuery开发的ui框架有哪些

jQuery属于什么语言

jQuery判断是否出现滚动条的方法

jQuery如何判断某个div是否存在

不同版本jQuery冲突怎么解决?

jQuery中怎么获取数组的长度

jQuery为什么不支持live

更多相关阅读请进入《jQuery》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...