如何使用click事件返回的变量?

时间:2014-10-16 06:02:34

标签: javascript html arrays dom return

我有返回数组的JavaScript函数。我正在收集那个数组,

<button onclick="var v = onclick1();">Click me</button>

我想在其余的应用程序中使用变量v。

我试图让它全球化但不起作用。

我可以在span中显示数组v中的文本,例如

<span id="SP">

</span>

此致

3 个答案:

答案 0 :(得分:0)

PFB代码:

JS

  var returnVal;

    function onclick1(){
     // todo write your logic
     var a= [2,2]; // some array to be returned
     returnVal = a;
     document.getElelmentById('SP').innerHtml = returnVal;
    }

HTML:

    <button onclick="onclick1();">Click me</button>
<span id="SP">

</span>

希望它有所帮助。

答案 1 :(得分:0)

可能你会尝试这样的事情:

<button onclick=" v = onclick1();">Click me</button>

<script>
var v
function onclick1(){
    var a= [2,2];
    return a;
}

$(document).ready(function(){

    document.addEventListener("click", function(){ // this part is only to show you that v got the returned vale.
alert(v);
});
});



  </script>

答案 2 :(得分:0)

您的变量v始终将作用于单击处理程序,因此为了使其可供应用程序的其余部分访问,唯一的方法是在更高的范围内使用另一个变量。一种可能的解决方案是使用v属性来表示应用程序的全局对象。

var yourApp = yourApp || {};
yourApp.v = null;

window.onload = function(){
    document.getElementById("yourbutton").addEventListener(function(){
        yourApp.v = onclick1();
    }, false);
}

现在,在您的其他脚本文件中,您可以参考yourApp.v

你可以让v成为全局的,但是拥有大量的单个全局变量通常不是很好的做法(污染全局范围),但是只有一个全局对象,包含你的其他变量是可以接受的。

旁注:我使用addEventListener将事件处理程序分配给您的按钮,该按钮需要ID yourbutton,因为这比内联点击处理程序更受欢迎。