我正在尝试使用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>