【问题标题】:Keypress Event not woking in my JavaScript Code/按键事件在我的 JavaScript 代码中不起作用/
【发布时间】:2020-11-25 18:25:08
【问题描述】:

向我道歉,因为我是初学者,我正在尝试运行我的按键事件,但是当我按下 Enter 键时它没有响应,需要帮助。

   Enterbtn.addEventListener("keydown",function(event){
    if(input.value.length>0 && event.keycode === 13){
    let li=document.createElement("li");
    li.appendChild(document.createTextNode(input.value));
    ul.appendChild(li);

}

【问题讨论】:

  • .keycode !== .keyCode,大括号不成对!
  • 阅读此developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode 你可能想使用event.key === 'Enter' 之类的东西
  • @George 没错,但这不是问题的原因......
  • 考虑使用带有格式和 IntelliSense 扩展的知名 IDE,为您提供语法错误提示,例如 VSCode

标签: javascript addeventlistener keypress event-listener enter


【解决方案1】:

您写错了键Code(大写字母)

(编辑:也许 Enterbtn 也可能是一个问题。如果您希望用户能够从任何地方触发事件,请使用 window)

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <input id="myInput" type="text" value="" />
  </head>
  <body>
    <script>

      const myInputObj = document.getElementById("myInput");

      window.addEventListener("keydown", function (event) {

        if (myInputObj.value.length > 0 && event.keyCode === 13) {
          console.log("do something");
        }
        
      });
    </script>
  </body>
</html>

【讨论】:

    【解决方案2】:

    我不确定您要达到什么目标,但这可能会对您有所帮助。
    输入您的值并按 Enter。

    const myInput = document.querySelector("input");
    const myList = document.querySelector("ul");
    
    myInput.addEventListener("keydown", (e) => {
      if(e.key === "Enter") {
        const myItem = document.createElement("li");
        myItem.textContent = myInput.value;
        myList.appendChild(myItem);
        myInput.value = "";
      }
    });
    <!DOCTYPE html>
    <html>
      <body>
        <input style="width:50%;" type="text" placeholder ="Enter your value and press 'Enter'"></input>
        <ul></ul>
      </body>
    </html>

    【讨论】:

      【解决方案3】:

      也许这对你有帮助

      const input = document.getElementById("input");
      const ul = document.getElementById("sample-ul");
      
      input.addEventListener("keydown", function (event) {
        if (input.value.length > 0 && event.keyCode === 13) {
          console.log(event.keyCode)
          let li = document.createElement("li");
          li.appendChild(document.createTextNode(input.value));
          ul.appendChild(li);
        }
      });
      <input type="text" id='input' />
      <ul id='sample-ul'></ul>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多