2012-08-17 47 views
0

我真的很新的JavaScript,所以很抱歉我的无知。在jeditables中,你可以指定一个回调函数。我在一个单独的脚本中使用所有这些代码。有没有办法将变量传入此回调函数?例如: var info =“foo”;访问其他变量里面的可jeditable

$('#bar').editable("/foo/bar", 
    callback : function(value, settings) { 
     var foobar = value + info; 
}); 

回答

1
var info = "foo"; 
$('#bar').editable("/foo/bar", 
    function(value, settings) { 
     var foobar = value + info; 
}); 

你应该对JavaScript的作用域读了。

我上面做的是不是通常要走的路,因为info现在处于全球范围。


面点:

你甚至可以打动你的回调到一个完全不同的位置:

var info = "foo", 
    callBackFn = function(v, s){ 
     var foobar = v + info; 
    }; 
$('#bar').editable("/foo/bar", callBackFn); 
+0

是的,我真的这样做。我现在正在阅读。谢谢您的帮助。 – user197674 2012-08-17 18:31:16

0

您也可以指定属性“设置”对象,如下所示:

$(".myClass").editable("/foo/bar", 
{ 
    indicator: "Saving...", 
    tooltip: "Click to edit", 
    onblur: "submit", 
    bax: bax 
}, 
function(value, settings) { 
    var foobar = value + settings.bax; 
}); 

内部处理程序,你可以通过简单地说明0123看到使用的参考对象