2011-04-20 57 views
0
var value; 
addEventListener('GetPatientSearchValues', function() { 
var value= 20; 
FunctionName(); 
}); 

Function FunctionName(); 
{ 
    value = value + 1; 
} 

我的问题是我需要接收值20,我需要将它传递给FunctioName。但它直接调用函数...即使alert(value)在监听器内部不起作用,但是当我不在Listner中调用另一个function时,该警报仍然有效。addEventlistner首先侦听函数还是变量?

+0

您的代码是无效的,因为语法错误。你能修复它们并将我们链接到jsfiddle.net上的一个测试用例来证明这个问题吗? – 2011-04-20 11:30:39

+0

错字1上面固定的一个 – theJava 2011-04-20 11:31:50

+0

不要在侦听器中声明值(删除'var'),这样两个函数共享全局值。不是一个特别强大的战略,但。 – RobG 2011-04-20 11:53:30

回答

0

由于RobG建议你可以使用一个全局变量(离开了var里面的功能),但它会更好地使用参数:

addEventListener('GetPatientSearchValues', function() { 
    var value = 20; 
    value = FunctionName(value); 
    // use modified value here 
}); 

Function FunctionName(v); 
{ 
    v = v + 1; 
    return v; 
}