这感觉就像一个非常基本的问题......我找不到答案!只是一个基本的jQuery点击功能:
$('button.one').click(function () {
var selectorVal = 'one';
$('div#one').slideDown('slow');
$('div#two').slideUp('fast');
return selectorVal;
}
如何在函数外检索和输出selectorVal?非常感谢!
答案 0 :(得分:1)
应该使selectorVal像这样的全局变量;无需返回任何具有该功能的内容:
var selectorVal = '';
$('button.one').click(function(){
selectorVal = 'one';
$('div#one').slideDown('slow');
$('div#two').slideUp('fast');
}
答案 1 :(得分:1)
您有两种选择:
在回调之外定义变量:
var selectorVal;
$('button.one').click(function (){
selectorVal = 'one';
$('div#one').slideDown('slow');
$('div#two').slideUp('fast');
});
// somewhere here check for selectorVal value (if any)
(更好)使用另一个回调:
var doSomethingWithSelectorVal = function(selectorVal){
// here do something with updated selectorVal value
};
$('button.one').click(function (){
selectorVal = 'one';
$('div#one').slideDown('slow');
$('div#two').slideUp('fast');
doSomethingWithSelectorVal(selectorVal);
});
正如我上面提到的,第二个选项是更好的选择,因为在这种情况下使用回调是最合适的。
答案 2 :(得分:0)
你能在函数外部创建一个全局变量,然后在函数内部添加一个值(不需要返回任何东西)吗?
答案 3 :(得分:0)
取决于您何时需要访问它 例如,如果您确定在执行单击功能后访问它,则可以使用以下技术:
var outer_variable=null;
$('button.one').click(function () {
var selectorVal = 'one';
$('div#one').slideDown('slow');
$('div#two').slideUp('fast');
outer_variable=selectorVal;
return True;
}
答案 4 :(得分:0)
您可以使用窗口。 像
这样的东西$('button.one').click(function () {
window["var2"]="somedata";
}
之后,您将可以通过窗口访问变量,也可以访问全局范围。
您可以在函数之外编写alert(var2)
,它将起作用。