首页 > 解决方案 > 如何在按下回车键时清除文本输入框(在 div 中)?

问题描述

我正在尝试使用 div 设置输入框,但我很难找到如何在按 Enter 后清除文本框。

我已经搜索了一个解决方案,并找到了这个使用 eventListener 和函数的代码。

var messageinputbox = document.createElement("input"); 

messageinputbox.addEventListener("keyup", function(event) {
  if (event.keyCode === 13) {
    event.preventDefault();
    document.getElementById('chatbox').value = "";
  }
});

document.getElementById("messageinput").appendChild(messageinputbox);

该功能不起作用,即使我没有看到任何语法错误,并且我的 javascript 文件没有给我任何错误。

标签: javascript

解决方案


你从来没有给新的输入框 ID chatbox。你需要

messageinputbox.id = "chatbox";

但是不需要 ID,因为messageinputbox变量包含对输入框的引用。只需在函数中使用该变量即可。

var messageinputbox = document.createElement("input"); 

messageinputbox.addEventListener("keyup", function(event) {
  if (event.keyCode === 13) {
    event.preventDefault();
    messageinputbox.value = "";
  }
});

document.getElementById("messageinput").appendChild(messageinputbox);
<div id="messageinput"></div>


推荐阅读