如何在用户按下回车键或点击其他地方后从 html 输入中获取数据?

How to get data from the html input after the user has pressed enter or clicked elsewhere?

Js 有一个内置函数,允许您在用户输入内容时从输入中检索数据:input.addEventListener("input", myFunction())。 但它不适合我,因为它会在用户每次输入至少一个字符时执行。相反,我需要一种方法,仅当用户键入内容然后按下回车键或单击不同位置的页面时才会调用该函数。

您可以使用 focusout 事件,该事件在元素即将失去焦点时触发,对于回车键,您可以检查触发的 keypress 事件中的 event.key当按下产生字符值的键时。像这样:

input.addEventListener("keypress", function (e) {
   if (e.key === 'Enter') {
     // code for enter
   }
});

focusout - https://developer.mozilla.org/en-US/docs/Web/API/Element/focusout_event

按键 - https://developer.mozilla.org/en-US/docs/Web/API/Document/keypress_event

您可以使用以下方法:

  1. 对输入元素使用onblur。一旦用户点击该输入框外的任何地方,这将触发。

  2. 对表单使用 onsubmit。这将在用户按回车键或无论如何提交表单时触发。