javascript - 当用户按下 "Enter"键时创建一个新行(HTML 和 Javascript)

标签 javascript html css google-chrome-extension

我正在创建一个 Chrome 扩展程序,以便用户可以创建待办事项列表。我想让它一旦用户输入任务,用户就可以按“Enter”键提交它。这将导致任务转到下一行。我无法让用户将任务转到下一行。

HTML:

<input type="text" name="newtask" value="" spellcheck="false" placeholder="New Task" id="newtask">
<ul id="tasksUL">
  <li>test</li>
</ul>

Javascript:

$(() => {
   $('#newtask').on('keydown', (e) => {
     if(e.keyCode == 13){
       ???
     }
   });
 });

最佳答案

keypress 事件监听器附加到 input 元素,而不是 ul。如果按下的键是 enter,获取 input 元素的内容,创建新的 li 元素并用输入的值设置它的文本,附加到 ul 然后清除 输入元素。

$(() => {
  $('input').on('keypress', function(e) {
    if (e.keyCode == 13) {
      const newTask = $(this).val();
      if (newTask) {
        $('#tasksUL').append(`<li>${newTask}</li>`);
        $(this).val("");
      }
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="newtask" value="" spellcheck="false" placeholder="New Task" id="newtask">
<ul id="tasksUL">
  <li>test</li>
</ul>

关于javascript - 当用户按下 "Enter"键时创建一个新行(HTML 和 Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56919145/

相关文章:

html - 如何使 CSS 背景响应特定尺寸

javascript - 使用 jquery 更改链接样式和属性

javascript - 为 Angular 设置 Jasmine/karma

javascript - 使用 CSSTransitionGroup 和 React-Router v6 动画路由过渡

javascript - 应用程序通过 Open Graph 发送事件邀请时无通知

html - 让两个div并排对齐

css - 缩小的 CSS 在 IE 中不起作用

html - 为什么我的 slider 在我的网页中显示不正确

javascript - 如何从一个 js 文件加载所有脚本、样式表和标记?

javascript - 如何在有或没有使用插件的情况下使用 react.js 实现水平和垂直拖放?