javascript - 如何在按 Enter 键时清除文本输入框(在 div 中)?

标签 javascript

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

我搜索了一个解决方案,并找到了使用事件监听器和函数的代码。

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>

关于javascript - 如何在按 Enter 键时清除文本输入框(在 div 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56281959/

相关文章:

javascript - XMLHttpRequest 无法加载

javascript - 编辑器有一些要求

Javascript 获取最后 2 个正斜杠之间的文本

javascript - 获取 Grunt 插件的目标

javascript - underscore.js 减少错误?与 Ruby 的行为不同?

javascript - jQuery : drag and drop : find the id of the target

javascript - 在 niceScroll Js 中禁用垂直滚动

javascript - 位置相对于固定——如何向下滑动?

javascript - 为什么 jQuery.data 和 .data() 的行为不同并访问不同的数据?

javascript - 在 d3.js 中创建嵌套的 SVG 节点