setTimeout不支持$(this)等其他jquery选择器的解决办法

责任:葡京娱乐场.0267 栏目: 编程语言 发布于: 2014-05-02 19:27:50

感谢您百忙之中阅读本站文章,这里是葡京娱乐场.娱乐官方网,可以关注我们的文章公众号葡京娱乐场.pj32698,以下是文章内容,请注意用眼疲劳。

今天在写一个js延时事件的时候发现在setTimeout这个方法里面使用jquery的$(this)竟然不起作用,各种测试,最后得出结论是setTimeout内不支持jquery的选择器。于是请教了一下QQ上做jquery开发的高手,马上就把这问题解决了,在这里记录一下。

下面是作者做延时处理时的js代码:

$('.dl_select dt').hover(
	function(){
		clearTimeout(t3);
		$(this).siblings('dd').css({'display':'block','cursor':'pointer'});
	},
	function(){
		t2=setTimeout(function(){$(this).siblings('dd').css({'display':'none'});},300);
	}
);
$('.dl_select dd').hover(
	function(){
		clearTimeout(t2);
		$(this).css({'display':'block','cursor':'pointer'});
	},
	function(){
		t3=setTimeout(function(){$(this).css({'display':'none'});},200);
	}
);

注意以上代码中得setTimeout里的代码,如果这些代码不在这个方法里面,本身是没有问题的,但是如上这种情况是会报错的。至于原因,作者现在也没有弄明白。经网友点化改成如下就没事儿了,方法很巧妙。如下是正确的代码:

$('.dl_select dt').hover(
	function(){
		clearTimeout(t3);
		$(this).siblings('dd').css({'display':'block','cursor':'pointer'});
	},
	function(){
		var $this=$(this).siblings('dd');
		t2=setTimeout(function(){$this.css({'display':'none'});},300);
	}
);
$('.dl_select dd').hover(
	function(){
		clearTimeout(t2);
		$(this).css({'display':'block','cursor':'pointer'});
	},
	function(){
		var $this=$(this);
		t3=setTimeout(function(){$this.css({'display':'none'});},200);
	}
);

特别感谢 http://www.0773linji.com/ 高手指点

您可能感兴趣的文章

  • jquery下拉菜单效果(超简洁实用,兼容IE和firefox等主流浏览器)
  • chrome(谷歌浏览器)不支持form.submit($('form').submit)的解决方法
  • javascript判断鼠标左右键点击-兼容ie、firefox、chrome等各大主流浏览器
  • php中$this、static、final、const、self 等几个关键字的用法
  • 鼠标移动到文字上出现浮层提示特效(兼容IE,火狐等所有浏览器)
  • js限制只能输入英文字母和数字,不能输入中文和其他特殊字符的办法
  • Sphinx在windows下安装使用[支持中文全文检索]
  • JS获取按键的代码,Js如何屏蔽用户的按键,Js获取用户按键对应的ASII码(兼容所有浏览器)
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。
转载请注明:文章转载自 [http://www.danrojas.com]
本文标题:setTimeout不支持$(this)等其他jquery选择器的解决办法
IT技术书籍推荐:
深入PHP:面向对象、模式与实践(第3版)
深入PHP:面向对象、模式与实践(第3版)
Mart Zandstra (作者), 陈浩 (译者), 吴孙滨 (译者), 胡丹 (译者), 李静 (译者)
《深入PHP:面向对象、模式与实践(第3版)》是PHP专家经典力作的最新版本。书中主要介绍了如何使用面向对象技术和设计模式编写稳定的、可维护的代码,如何使用Subversion管理多个开发人员,如何使用Phing和PEAR进行构建和安装,以及将构建和测试过程自动化的策略,包括持续集成。《深入PHP:面向对象、模式与实践(第3版)》适合中高级PHP程序员阅读。
葡京娱乐场.最新互联网资讯
每月好书:Python机器学习算法
发布于 2017-07-22 03:23:04
python视频教程与指导手册大全下载
发布于 2017-07-22 03:01:51
Python 多线程鸡年不鸡肋
发布于 2017-07-22 03:06:04
利用 Python,四步掌握机器学习
发布于 2017-07-22 02:39:44
葡京娱乐场.互联网资讯

葡京娱乐场_进入葡京娱乐场.pj32698官方网站.0267