有没有办法可以将信息传递给嵌套函数?问题是我想使用jQuery动画一个被删除的对象,然后让它从dom中删除对象.但是没有办法将信息传递给嵌套函数.我首先虽然波纹管会工作,但没有运气,
tab = this.tab //this.tab is a dom element
$(this.tab).effect('drop',null,null, function(tab)
{
$(tab).remove()
})
Run Code Online (Sandbox Code Playgroud)
人们建议我将元素存储在全局中,这个函数是类的一部分,并且可以有许多对象可以同时调用这个函数.
谢谢!
使用闭包你应该能够做到
var tab = this.tab
$(tab).effect('drop', null, null, function() { $(tab).remove(); });
Run Code Online (Sandbox Code Playgroud)
请注意,它tab是在"嵌套函数"之外定义的,但由于JavaScript支持闭包,因此该函数可以访问与其自身在同一范围内定义的变量.换句话说,它将能够访问tab.另请注意,它不是 this.tab,因为它this指的是调用代码的上下文.
附录:我不是一个jQuery人(很奇怪,我知道),但我想你传递给的函数effect()将在tab元素的上下文中执行(即函数内部this指的是tab元素).如果是这样,你可能就是这么做的
$(this.tab).effect('drop', null, null, function() { $(this).remove(); });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2864 次 |
| 最近记录: |