gpt4 book ai didi

javascript - jquery - 在输入字段上使用它 - 无法从函数中获取变量,所以我可以使用它

转载 作者:行者123 更新时间:2023-11-28 13:37:42 27 4
gpt4 key购买 nike

第一次尝试在真实网页上使用 jQuery 类(class)时,我发现变量 guess(在此内部函数的范围内)在函数完成后立即消失。

我想这是正常的 JavaScript 行为,但是通常如何获取变量以便可以在其他函数中使用它?我的类(class)从未涉及过这一点。

我假设一旦guess被路由到#display的innerHTML中,它就会粘住。但它甚至从那里消失了。

<!DOCTYPE html>
<html>
<HEAD>
<title>Game of the Century</title>
<meta charset="UTF-8">
<LINK href="reset.css" rel="stylesheet" type="text/css">
<LINK href="main.css" rel="stylesheet" type="text/css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="application.js"></script>
</HEAD>

<body>
<form>
<input type='text' name = "input" id = "input"><br>
<input type='submit' id="submit">
</form>
<p id = "display"></p>
<div>
<img src="http://img707.imageshack.us/img707/2403/rj1a.jpg" alt = "ad">
</div>
</body>
</html>

...

$(document).ready(function () {

$('#submit').click( function() {
var guess = $('#input').val();
$("#display").html(guess);
});

});

最佳答案

这是绝对正常的,与 jQuery 无关。您的猜测变量是在闭包匿名函数中定义的。因此,它存在于该范围之外并且无法在该范围之外访问。如果您想在点击处理程序之外使用猜测,只需在外部定义即可。例如:

$(document).ready(function () {
var guess;
$('#submit').click( function() {
guess = $('#input').val();
$("#display").html(guess);
});
var anotherMethod = function() {
alert(guess); // <--- it works
}
});

此外,如果您已经包含 jQuery,则无需使用 document.getElementById

编辑:我刚刚看到了 html。该代码还有另一个副作用。当您单击按钮时,您的表单实际上正在提交。尝试将 type="submit" 更改为 "type="button" 或其他阻止表单提交的方法。

关于javascript - jquery - 在输入字段上使用它 - 无法从函数中获取变量,所以我可以使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20293280/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com