2016-02-16 91 views
0

我正在尝试编写一个小脚本,所以无论何时用户在网页上输入一些文本,它都会立即得到我的价值。不幸的是,当我尝试测试它时,Keyup()JQUERY函数没有返回任何值。键值输入没有获得价值

$(document).ready(function() { 
    $(document).keyup(function() { 
     var command = $(this).val(); 
     alert(command); 
    }); 
}); 

该警报显示没有任何文字,我不确定为什么?

+1

尝试这种情况:'$(文件)。就绪(函数(){ $(:输入).keyup(函数(){ VAR命令= $(本).VAL(); 警报(命令); }); });' – Rayon

+0

我试图将它附加到文档,因为我不想让它们“必须”键入到文本框中以便知道它们正在输入的内容(如果这是有道理的) – ConorReidd

回答

3

您的选择是$(document)它没有价值。
只有当您的选择器是任何输入时,您才能获得价值。
如果要通过用户获得字符类型,然后尝试,因为遵循

$(document).keyup(function(e) { 
    var command = String.fromCharCode(e.which); 
    alert(command); 
}); 
+0

按我想要的那样工作。万分感谢。 – ConorReidd

0

我已经修改了代码片段

$(document).ready(function() { 
$(document).keyup(function(e) { 
    var command = $(e.target).val() 
    alert(command); 
}); 
}); 

$(本)一直保持你在哪里结合是事件文件在你的情况下,但e.target提供你正在使用你的事件的当前元素。

+0

同样的问题。警报中没有返回任何内容(); – ConorReidd

+0

这仅适用于所有输入框。所以你想检测任何用户在键盘上按下? – Diljohn5741

2

试试看看这个代码。

<!DOCTYPE html> 
    <html> 
    <head> 
     <title></title> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
    </head> 
    <body> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     $("input").keyup(function() { 
      var command = $(this).val(); 
      alert(command); 
     }); 
    }); 
    </script> 
    <input type="text"> 
    </body> 
    </html> 
-1
  1. 有不同的方法来解决它。这就像双向约束。

  2. 您可以使用jQuery

  3. 其他的KEYUP/KEYDOWN事件发挥聪明人,你可以喜欢Angulr Js已建成的双向绑定功能。