【问题标题】:Perform an action when the enter key is pressed [duplicate]按下回车键时执行操作[重复]
【发布时间】:2019-07-06 00:51:31
【问题描述】:

我正在制作一个充当任务列表的 Chrome 扩展程序。您可以输入您想要的任何任务(例如购买鸡蛋)并将其添加到您的列表中。我想让用户输入任务并按“Enter”键将其添加到列表中。但是,我看到“keycode”已被删除,所以我想知道是否有其他可能的解决方案来解决这个问题。我试过用下面的方法:

    <input type="text" name="newtask" value="" spellcheck="false" placeholder="New Task" id="newtask">
    <script>
      var input = document.getElementById("newtask");
      input.addEventListener("keyup", function(event) {
        if (event.keyCode === 13) {
          alert('test');
          event.preventDefault();
      }
      });
    </script>

目前,我正在这样做,以便如果用户在输入/文本框中按下回车键,将会出现一个提示“测试”的警报。但是,当我按下回车键时,什么也没有发生。

【问题讨论】:

    标签: javascript html css google-chrome-extension enter


    【解决方案1】:

    可能是在添加事件侦听器时,并未呈现 DOM 中的所有元素。因此 input 没有找到(您可以通过在 getElementById 之后记录输入变量来检查)

    如果是这种情况,请尝试使用 Dom 就绪事件将事件附加到元素 类似的东西

    document.addEventListener("DOMContentLoaded", function(event) { 
    
    });
    

    $(document).ready(function(){
    
    })
    

    【讨论】:

      【解决方案2】:

      我认为你应该试试这个:

      <input type="text" name="newtask" value="" spellcheck="false" placeholder="New Task" id="newtask">
      <script>
      var input = document.getElementById("newtask");
      input.addEventListener("keypress",function() {
      alert('test');
      });
      </script>
      

      无需添加if 语句试试keypress event

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-15
        • 2010-11-03
        • 1970-01-01
        相关资源
        最近更新 更多