我正在尝试使用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文件也没有给我任何错误。

最佳答案

您从未为新输入框指定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>

09-06 20:54