Javascript jQuery插件:如何将元素引用传递给回调函数?

Javascript jQuery插件:如何将元素引用传递给回调函数?,javascript,jquery,callback,this,Javascript,Jquery,Callback,This,TL;我有jQuery.myPlugin 当插件的工作完成时,如何将这个变量(单节点引用)传递给回调?像这样: $.fn.myPlugin = function(param, callback){ //... //... //when job is done: callback.call(this); } $('.someclass').myPlugin(options, function(arg){ //I need arg to be this variable fro

TL;我有jQuery.myPlugin

当插件的工作完成时,如何将这个变量(单节点引用)传递给回调?像这样:

$.fn.myPlugin = function(param, callback){
  //...
  //...
  //when job is done:
  callback.call(this);
}
$('.someclass').myPlugin(options, function(arg){ 
  //I need arg to be this variable from plugins definition...
})

请注意,无论我传递给callback.callsomevar什么,somevar在执行的匿名回调函数中都不可用。

如果回调确实是一个函数,您应该尝试

callback(this);
直接调用回调函数。或使用

//when job is done: 
callback.call(this, this); 

请参阅.call API。

这是我尝试的第一件事:没有结果,无法在非ymous函数中捕获任何内容。这是正确的答案@Miloshio它将按预期工作。如果它不适用于您,那么说明如何使用回调函数。是否调用了该函数?只是没有传递“this”?正在调用函数,回调中是什么。callthis在作为回调传递的匿名函数中不显示//作业完成时:callbackthis;直接调用回调函数。或//作业完成时:callback.callthis,this;请参阅。呼叫文档。@vinayakj编写并回答,这是正确的!就这样。等待时间限制接受您的回答。谢谢
//when job is done:
callback(this);
//when job is done: 
callback.call(this, this);