首先,这是我的代码:
var variable1 = 10;
function f1 (){
alert(variable1);
}
//When button is pressed, call function
$("#button").click(f1);
为什么我不能在函数内部访问variable1? 非常感谢和祝圣诞快乐。
$(document).ready(function() {
var how_many_words = 3;
alert(how_many_words); //This happens
$("input").keypress(check_word);
function check_word(){
alert('hello'); //This happens
alert(how_many_words); //This doesn't
}
});
答案 0 :(得分:1)
您的问题实际上并不是您无法访问变量,而是在调用绑定代码时#button
元素尚未在DOM中。将初始化代码包装在jQuery DOM ready idiom中:
$(document).ready(function() {
$("#button").click(f1);
});
答案 1 :(得分:1)
这是this website提供的问题的确切答案。我愚蠢地将我的一个变量命名为id和function。疯狂!我为浪费人们的拳击日而道歉。谢谢你的帮助。
答案 2 :(得分:0)
尝试:
var variable1 = 10;
var f1 = function(){
alert(variable1);
}
//When button is pressed, call function
$("#button").click(f1);
刚刚嘲笑你的问题。你的代码对我来说很好:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
test
</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>
<div id="button">hello</div>
<script type="text/javascript">
//<![CDATA[
var variable1 = 10;
function f1 (){
alert(variable1);
}
//When button is pressed, call function
$("#button").click(f1);
//]]>
</script>
</body>
</html>
答案 3 :(得分:0)
我非常确定您可以从variable1
内部访问f1
。当你尝试时会发生什么?
我注意到的一件事是你用int参数调用alert。我不确定这是否有效。试试
<德尔>警报(variable1.toString()); 德尔>
<德尔>代替。德尔>
编辑:好的,别担心; alert(int)当然可行。