热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

js原生态函数中使用jQuery中的$(this)无效的解决方法_jquery

今天遇到一个听郁闷的问题,正如title所说js中原生态函数在jQuery中使用$(this)被解析成undefined
我今天的例子是这样的,

代码如下:


$("ul li").hover(function(){
  setTimeout(function(){
    $(this).addClass("test");
    alert("延迟了0.3s 我出现了!") //测试
  },300)
})


在运行时,这个黄色部分是不执行的 ,然后我弹出了一下$(this)原来是undefined (其实已经猜到了);
然后我就没想(习惯),直接到百度找了,然后没找到答案,然后我就自己想,是不是换种方法,但是我觉得又不大合理,随后我就想到了 在里面读不到,外面可以读得到, 然后我就将$(this) 在setTimeout()外面赋给了一个变量。这样就迎刃而解了。哈哈,挺无语的问题吧,其实我在这里不是想说如何解决的,我是说这种思路,解决问题前先不要一味的去百度 谷歌
先要自己想想办法,真想不到,去找答案。

代码如下:


$("ul li").hover(function(){
  var oLi = $(this);
  setTimeout(function(){
    oLi.addClass("test");
    alert("延迟了0.3s 我出现了!") //测试
  },300)
})

推荐阅读
author-avatar
知知亦不知_710
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有