$('#user-input')。is(':focus')不起作用

问题描述 投票:0回答:1

我已经看到很多有关':focus'的问题,但是还没有看到很多有关基于文本的游戏的上下文或在if语句内部使用的有用答案。我想确定自己所写的内容是正确的,并且我的代码没有任何错误,我只是没有得到任何回报。我想对这个游戏进行非常糟糕的编码,但可悲的是直到我克服了这个难题才开始!我在这里先向您的帮助表示感谢!!这是我的HTML文档,但是我几乎肯定这里没有任何问题。

    <!DOCTYPE HTML>
    <head>
       <title>Zork!!</title>
    </head>
   <body>
   <div id = "game text"><p>Welcome to Zork!!</div>
   <input id = "user input" placeholder="Please type your command.."></input>

   <script type="text/javascript" src="jquery-3.4.1.min.js"></script>

   <script type="text/javascript" src="script.js"></script>
   </body>

这是我的'script.js':

     $(document).ready(function(){
     $(document).keypress(function(key){


    if(key.which === 13 && $('user-input').is(':focus')){
        var value = $('user-input').val();
        alert(value);
        }
      })    
    })

有了我所拥有的,我思考我将能够在输入框中键入单词,然后按回车键,然后得到一个文本框,告诉我我键入的内容。

编辑:每当我运行代码的本地主机时,我现在就从Google Chrome上的Inspect Element获取此错误代码:

Uncaught Error: Syntax error, unrecognized expression: : focus
at Function.se.error (jquery-3.4.1.min.js:formatted:546)
at se.tokenize (jquery-3.4.1.min.js:formatted:969)
at se.compile (jquery-3.4.1.min.js:formatted:975)
at se.select (jquery-3.4.1.min.js:formatted:1047)
at se (jquery-3.4.1.min.js:formatted:289)
at Function.se.matchesSelector (jquery-3.4.1.min.js:formatted:526)
at Function.k.filter (jquery-3.4.1.min.js:formatted:1122)
at j (jquery-3.4.1.min.js:formatted:1117)
at k.fn.init.is (jquery-3.4.1.min.js:formatted:1148)
at HTMLDocument.<anonymous> (script.js:7)
se.error @ jquery-3.4.1.min.js:formatted:546
se.tokenize @ jquery-3.4.1.min.js:formatted:969
se.compile @ jquery-3.4.1.min.js:formatted:975
se.select @ jquery-3.4.1.min.js:formatted:1047
se @ jquery-3.4.1.min.js:formatted:289
se.matchesSelector @ jquery-3.4.1.min.js:formatted:526
k.filter @ jquery-3.4.1.min.js:formatted:1122
j @ jquery-3.4.1.min.js:formatted:1117
is @ jquery-3.4.1.min.js:formatted:1148
(anonymous) @ script.js:7

第二次编辑错误代码:

Uncaught Error: Syntax error, unrecognized expression: : focus
at Function.se.error (jquery-3.4.1.min.js:2)
at se.tokenize (jquery-3.4.1.min.js:2)
at se.compile (jquery-3.4.1.min.js:2)
at se.select (jquery-3.4.1.min.js:2)
at se (jquery-3.4.1.min.js:2)
at Function.se.matches (jquery-3.4.1.min.js:2)
at Function.k.filter (jquery-3.4.1.min.js:2)
at j (jquery-3.4.1.min.js:2)
at k.fn.init.is (jquery-3.4.1.min.js:2)
at HTMLDocument.<anonymous> (script.js:7)
se.error @ jquery-3.4.1.min.js:2
se.tokenize @ jquery-3.4.1.min.js:2
se.compile @ jquery-3.4.1.min.js:2
se.select @ jquery-3.4.1.min.js:2
se @ jquery-3.4.1.min.js:2
se.matches @ jquery-3.4.1.min.js:2
k.filter @ jquery-3.4.1.min.js:2
j @ jquery-3.4.1.min.js:2
is @ jquery-3.4.1.min.js:2
(anonymous) @ script.js:7
dispatch @ jquery-3.4.1.min.js:2
v.handle @ jquery-3.4.1.min.js:2
javascript jquery text-based
1个回答
0
投票
  1. 在您的script.js文件中使用此代码。

    $(“#user-input”)。keypress(function(key){if(key.which === 13 && $('#user-input')。is(':focus')){var value = $('#user-input')。val();警报(值);}});

© www.soinside.com 2019 - 2024. All rights reserved.