如何将JS对象传递给jQuery函数.queue()

时间:2012-02-01 14:22:27

标签: javascript jquery oop

我在开发中使用OOP和jQuery。 我曾经将我当前的对象this传递给jQuery函数,如下所示:

$(myElement).live('click', this, function(el){
  // I can access to my JS object using el.data
});

但是我找不到如何用jQuery函数.queue()做类似的事情。 有可能吗?

修改

我给出了我想要使用{(1}}:

的上下文
.queue()

4 个答案:

答案 0 :(得分:2)

  

“有可能吗?”

没有。 live()方法是一种事件处理方法,您正在设置事件对象数据。回调中的第一个参数是事件对象。

我不知道this代表什么,但我觉得你误用了事件数据。

queue()方法与事件处理无关。您传递一个添加到队列的函数。它的第一个参数将引用一个释放队列的函数。

答案 1 :(得分:1)

您仍然可以访问当前对象。在这里查看我的jsfiddle:http://jsfiddle.net/9upJB/

除此之外,其他人指出的是正确的。 live()(你应该用btw停止)是一个事件。 queue()是一种方法,与事件无关。

访问对象时,这将作为回调执行(查看jQuery文档)。

答案 2 :(得分:1)

首先将实例保存为元素数据,并在jquery的队列函数中使用它;

$("#el").data("instance", this);

在函数

中使用之后
$("#el").queue(function(){
    var instance = $(this).data("instance");
    //do whatever you want
});

答案 3 :(得分:0)

您不会通过queue()函数传递元素,而是在匹配的元素上执行函数。

$('yourelement').queue();