我有一种表单,我想用jQuery在文本框中检索值。问题是如果我声明这样的变量:变量声明问题
var bdmm = $("#bdmm").val();
中的document.ready事件,而是一个功能外
,并在函数引用它,文本值是零。但是,如果我在函数中声明它,它工作正常。这是为什么?
JQUERY:
这将不工作:
$(document).ready(function() {
var bdmm = $("#bdmm").val();
$('#submit').click(function(e){
alert(bdmm);
e.preventDefault();
});
});
这将工作:
$(document).ready(function() {
$('#submit').click(function(e){
alert($("#bdmm").val());
e.preventDefault();
//OR
var bdmm = $("#bdmm").val();
alert(bdmm);
e.preventDefault();
});
});
感谢您的回复。我现在知道了。那么如何在DOM上声明变量,并在函数中调用它呢?或者我应该这样做? – input
@ fuz3d如果您在事件发生时关心它们的值,则不应该这样做。对于非动态的东西,他们不需要在DOM准备好的时候声明,尽管这是一种隔离变量名的方法,并且保证函数中会使用正确的值([JavaScript closures](http:// blog .morrisjohns.com/javascript_closures_for_dummies))。 –
我明白了。谢谢。非常感激。 – input