使用Jquery键控时返回值

使用Jquery键控时返回值,jquery,keyup,Jquery,Keyup,使用此代码,控制台显示“ReferenceError:myVar未定义”。 如果我在函数之前初始化变量,它的值在函数之后不会改变。 怎么了 谢谢你的帮助 $('#origVal').keyup(function () { myVar = $('#origVal').val(); }); console.log(myVar); 更新 我尝试恢复使用keyup在输入中输入的文本。 目标是将恢复的内容提供给dat.gui,以便使用three.js以3D显示。我知道也许我做这件事的方式不对 &

使用此代码,控制台显示“ReferenceError:myVar未定义”。 如果我在函数之前初始化变量,它的值在函数之后不会改变。 怎么了

谢谢你的帮助

$('#origVal').keyup(function ()
{
    myVar = $('#origVal').val();
});
console.log(myVar);
更新

我尝试恢复使用keyup在输入中输入的文本。 目标是将恢复的内容提供给dat.gui,以便使用three.js以3D显示。我知道也许我做这件事的方式不对

<body>
    <input type='text' id='origVal'>
    <script>
        var myVar = "";
        $('#origVal').keyup(function ()
        {
            myVar = $('#origVal').val();
        });
        document.write(myVar); //It doesn't work !
        var guis = {
            TextGeometry : function( mesh )
            {
            var data = {
            text : myVar, //It doesn't work !
         ...
    </script>
</body>

var myVar=“”;
$('#origVal').keyup(函数()
{
myVar=$('#origVal').val();
});
文件编写(myVar)//它不起作用!
变量guis={
TextGeometry:函数(网格)
{
风险值数据={
text:myVar,//它不工作!
...

如果尚未定义关键字
val
请在
myVar
前面放置一个关键字。

尝试将console.log(myVar)放在函数中。即使您正在声明一个全局变量,它也可能由于某种原因不在其作用域内,并且正在抛出一个错误。请告诉我这是否有效。


<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>

<script>
    $(document).ready(function () {
        var myVar = "";
        $('#origVal').keyup(function () {
            myVar = $('#origVal').val();
            console.log(myVar);
        });


    });
</script>
</head>
<body>
   <input id="origVal" />
</body>
</html>
$(文档).ready(函数(){ var myVar=“”; $('#origVal').keyup(函数(){ myVar=$('#origVal').val(); console.log(myVar); }); });


尝试这种方法

我通常不建议将其保存到窗口,但您可以实现这一点并在以后使用该值的一种方法是将其保存到窗口。因此:

 $('#origVal').keyup(function () {
        myVar = $('#origVal').val();
        window["window_myVar"] = myVar;
 });

  console.log(window["window_myVar"]);

这将吐出值,而不是console.log,您可以执行document.write或您试图对变量执行的任何操作。请注意,我在变量之前附加了“window_u”。每当我使用它时,我都会这样做,以确保创建的变量不会覆盖窗口上的另一个变量(确保它唯一)。希望这有帮助。

让myVar成为全局的
var myVar;$('#origVal').keyup(function(){myVar=$('#origVal').val()});console.log(myVar);
像这样试试谢谢你的帮助,但它对我不起作用。在声明var时,请尝试我提供的答案,它应该是
var myVar=“”
我也试过了,但不起作用。这将使console.log返回UnfineDyes,你是对的,他应该在函数之前定义var myVar,这样使其全局化:)谢谢你的帮助,但我想在函数之后使用变量。谢谢你的帮助,但我想在函数之后使用变量。我解释过了在我的第一篇文章中。谢谢。它没有改变任何东西。好的,您的代码使用console.log运行,但是如果我想用document.write替换console.log,那么请将它附加到正文中
 $('#origVal').keyup(function () {
        myVar = $('#origVal').val();
        window["window_myVar"] = myVar;
 });

  console.log(window["window_myVar"]);