1

我是 jQuery 的新手,正在尝试在脚本之间使用嵌套函数中的变量。但是,我不确定如何做到这一点(我在理解范围方面非常糟糕)。这是代码(注意:我从 jsFiddle 复制粘贴,因此故意丢失了一些标签)。

<body>
    <h1>Hello</h1>    
    <button id="btn">click</button>
 <script>
    var x;
    $(document).ready(function() {
        $(document).on("click", "#btn", function() {
           x = "hello world";
        });
    });
</script>
<script>
    alert(x);
</script>    
</body>

任何帮助表示赞赏!

4

2 回答 2

1

您做得正确,在您的代码<script> alert(x);</script>中使用警报x值时未设置。

HTML:

<button id="set">set</button>
<button id="get">get</button>

JS:

var x;
$(document).ready(function () {
    $(document).on("click", "#set", function () {
        x = "hello world";
    });

    $(document).on("click", "#get", function () {
        alert(x);
    });
});

JSFiddle 演示

于 2013-09-05T15:57:21.523 回答
1

要使该警报发出警报,Hello World您需要将其添加到 click 函数中...因为 x 在 click 事件中重新声明。而且你不必分开你的<script>.

<script>
var x;
$(document).ready(function() {
    $(document).on("click", "#btn", function() {
       x = "hello world";
       alert(x); //alerts hello world
    });
    alert(x); //alerts undefined since x is not set as this is executed before the click event as soon as document is ready
});
alert(x); //alerts undefined since x is not set


</script>    
于 2013-09-05T15:54:56.457 回答