【发布时间】:2013-02-11 20:28:58
【问题描述】:
这是一个用于 jQuery UI 小部件和插件的函数 -
var select = function( event, ui ) {
var somevariable = 4;
}
如何在这个函数之外获取var somevariable = 的值?
将其用作全局变量不起作用:
var somevariable;
var select = function( event, ui ) {
var somevariable = 4;
}
在此代码中,var somevariable 放在 var select = 之前或之后时不会得到值 '4'
编辑:为了更详细,我想在另一个函数中使用这个变量,比如下面的 jQuery UI 插件:
$( "#id" ).autocomplete({
minLength: 0,
source: function( request, response ) {
if (somevariable == 5)
{
//do something
}
},
open: function( event, ui ) {
somevariable = 5;
}
});
在这种情况下,当open: 事件被触发时,source: 不会检索到该值
【问题讨论】:
-
如果您不想要局部变量,请不要使用
var。就是这样。 -
你不能,它是一个局部变量,你必须公开它。这不是你的功能所以你不能碰它?
-
@JanDvorak - 但如果函数不是由
var定义的,则无法调用该函数。因为真正的函数不使用返回值。
标签: jquery jquery-ui function var