我有一个对象想要传递给 .fadeOut()
。
在我们开始之前,先介绍一下如何将对象传递给 .click():
this.$title.click({story: this}, function (event){
var story = event.data.story;
}
足够简单。
现在我想用 .fadeOut
做类似的事情:
this.$title.fadeOut("fast", {story: this}, function(){
var story = ???
});
这不起作用。但你明白了吗?如何将 this
传递到 anon 函数中?
我正在寻找最干净的解决方案。除此之外,我正在寻找最符合我对 .click()
所做的事情的解决方案。
谢谢!
旁白:是否有更简洁的方法将 this
传递到 .click()
中?
最佳答案
这是一个关于 JS 的问题,而不是关于 jQuery 的问题;你可以这样做:
var story = this
this.$title.click(function () {
/* story still available */
})
this.$title.fadeOut('fast', function () {
/* same here */
})
或者更奇特的东西(这也保留了分配时story
的内容,即使它稍后在上层作用域中被覆盖):
this.$title.click((function (story) {
return function () {
/* story is available */
/* this will be passed to $(...).click(...) */
}
})(this))
关于javascript - 如何将变量传递给 jQuery 的 .fadeOut(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30927559/