【问题标题】:Assign global variable within a function在函数中分配全局变量
【发布时间】:2012-12-01 03:01:58
【问题描述】:

我想在一个函数中分配全局变量值并在另一个函数中使用该变量。但由于某种原因,第二个函数中的变量为空白。

我的想法

在函数1之前先执行函数2(如果是这种情况,我如何命令jquery开始执行特定的语句/函数?)

或者

函数 1 中的 myvar 全局变量未设置(如果是这种情况,有什么替代方法可以实现?)

var my_var;
//function 1
$(".div1").onhover(function(){
my_var="hello"
});

//function 2
$(".div1").onhover(function(){
 //i want to make use of my_var here, but it is blank
});

 //I want to use my_var it somewhere here too, but it doesnt work

【问题讨论】:

标签: javascript jquery javascript-events


【解决方案1】:

正确的函数是.hover(more here); .onhover 不正确。下面的代码按照您要求的方式工作 (live example)。

HTML

<div id="TestID" class="div1">This is a test.</div>​

JavaScript

var my_var;
//function 1
$(".div1").hover(function(){
    my_var=$(this).attr('id'); 
});

//function 2
$(".div1").hover(function(){
    alert(my_var);
});​

这里有一些关于 JavaScript 中全局变量的有用链接:

【讨论】:

  • 谢谢,当你使用 alert 时它可以工作,但是当你在语句中使用它时它不会,onhover 是一个错字对不起。
  • 这是一个在语句中使用变量的示例:jsfiddle.net/EKdtj/2。它仍然有效。
  • 对不起,我的意思是它不能在函数之外工作,我该如何让它工作?
  • 如果鼠标没有悬停在div 上从而触发函数,那么my_var 将不会被定义。您应该可以在任何地方毫无问题地引用它。这是一个例子:jsfiddle.net/EKdtj/4
  • 您必须发布更多代码以提供更多上下文或修改上述 jsfiddles 之一以复制您的问题。
猜你喜欢
  • 2020-07-06
  • 1970-01-01
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多