jQuery全局变量

jQu*_*ast 0 javascript jquery global-variables

有人可以解释为什么这不起作用:

$(function() { 
   var damg = $(".hidden").val();

    $("button").click(function() {
        alert(damg);
    });
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle:http://jsfiddle.net/raFnT/

使用全局变量是否好?我还读到它比每次输入都慢一些?

详细解释:

我有这个:

$("button").click(function() {
            alert(damg);
        });
Run Code Online (Sandbox Code Playgroud)

而damg是输入的值: var damg = $(".hidden").val();

当您在输入中键入内容时,然后按下按钮,提醒该输入的值.

我可以用

$("button").click(function() {
var damg = $(".hidden").val();
                alert(damg);
            });
Run Code Online (Sandbox Code Playgroud)

但有一点,我将有100个功能,我将最终这样:

$("button1").click(function() {
    var damg = $(".hidden").val();
                    alert(damg);
                });

$("button2").click(function() {
    var damg = $(".hidden").val();
                    alert(damg);
                });

$("button3").click(function() {
    var damg = $(".hidden").val();
                    alert(damg);
                });

$("button4").click(function() {
    var damg = $(".hidden").val();
                    alert(damg);
                });

$("button5").click(function() {
    var damg = $(".hidden").val();
                    alert(damg);
                });
Run Code Online (Sandbox Code Playgroud)

我想设置一个全局变量,以便在每个函数上我不需要再次调用该函数.

像这样的东西:

var damg = $(".hidden").val();

$("button1").click(function() {
        alert(damg);
    });

$("button2").click(function() {
        alert(damg);
    });

$("button3").click(function() {
        alert(damg);
    });

$("button").click(function() {
        alert(damg);
    });

$("button4").click(function() {
        alert(damg);
    });

$("button5").click(function() {
        alert(damg);
    });
Run Code Online (Sandbox Code Playgroud)

BNL*_*BNL 7

你有它倒退,一个全局变量必须写在函数的外部.

您的代码不起作用,因为.hidden没有值.

http://jsfiddle.net/raFnT/2/

使用全局变量是不好的做法,除非你真的需要全局变量.我不知道你每次打字都是什么意思.

此外,您不是在单击处理程序中重新加载值.

$(function() {            
    $("button").click(function() {
        var damg = $(".hidden").val();
        alert(damg);
    });            
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/raFnT/6/

为了得到一个好的答案,OP想要的是blur功能.

$(function() {     
    var damg;

    $(".hidden").blur(function () {
        damg = $(".hidden").val();
    });

    $("button").click(function() {
        alert(damg);
    });            
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/raFnT/7/

  • 猜猜我再也不会帮忙,如果有什么可怕的话,这是你的问题. (9认同)