密钥输入未获得值

时间:2016-02-16 12:03:47

标签: javascript jquery

我试图编写一个小脚本,因此每当用户在网页上输入一些文字时,它就会立即获得价值。不幸的是,当我尝试测试时,Keyup()JQUERY函数没有返回任何值。

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

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

4 个答案:

答案 0 :(得分:4)

您的选择器为$(document),没有任何价值 只有当您的选择器是任何输入时,您才能获得价值 如果您想按用户获取字符类型,请按照以下步骤进行尝试

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

答案 1 :(得分: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>

答案 2 :(得分:0)

我修改了代码段

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

$(this)始终保留在您绑定事件的位置,即您的案例中的文档,但e.target提供您正在使用事件的当前元素。

答案 3 :(得分:-1)

  1. 有多种方法可以修复它。这就像双向绑定。

  2. 您可以使用jquery

  3. 的keyup / keydown事件
  4. 另外,您可以选择内置双向绑定功能的AngularJS