相关疑难解决方法(0)

在没有闭包的情况下在setTimeout内执行jQuery成员函数的方法?

我试图沿着这些方向做点什么:

setTimeout($('#element').hide,3000);
Run Code Online (Sandbox Code Playgroud)

这似乎很简单,但它被"这个"问题瘫痪了.我想找到一种方法来将实际函数作为参数传递,而不将其包装在另一个函数中,例如我不想这样做:

setTimeout(function(){$('#element').hide();},3000);
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

setTimeout($('#element').hide,3000);
setTimeout($('#element').hide.apply(document),3000);   /* jQuery docs say that document is the default context */
setTimeout($('#element',document).hide,3000);
setTimeout($(document).find('#element').hide,3000);
setTimeout($(window).find('#element').hide,3000);
setTimeout($.proxy($('#element').hide,document),3000); /* I know this returns a function, which I don't want, but I have tried it */
setTimeout(($('#element').hide()),3000);               /* functional expression */
Run Code Online (Sandbox Code Playgroud)

我正在寻找解决这个问题的方法,但我不想把它包装在另一个函数中.代码行越少越好.我知道为什么这不能按预期工作,但如何在不将其包装在封闭中的情况下修复它?

javascript jquery this settimeout

5
推荐指数
1
解决办法
532
查看次数

标签 统计

javascript ×1

jquery ×1

settimeout ×1

this ×1