按Enter键后清除文本框

时间:2018-04-28 12:56:24

标签: javascript html css input text

我按下回车键后一直试图清除文本框,但我找不到任何解决方案,搜索超过2小时..这是代码:

HTML:

@ViewChild('element1') element1: ElementRef;

的javascript:

@ViewChild(ChildComponent) child: ChildComponent;

constructor(private renderer: Renderer2) {}

hideElement() {
  this.renderer.setStyle(child.element1 , 'visibility' , 'hidden');
}

1 个答案:

答案 0 :(得分:1)

HTML代码中没有ID为candidate的元素。因此JavaScript会抛出错误并停止执行下一个语句。这就是文本框无法清理的原因。

删除buggy语句,你的代码运行正常:

function addItem() {
  var ul = document.getElementById("dynamic-list");
  var candidate = document.getElementById("textBox");
  var li = document.createElement("li");
  li.setAttribute('id', candidate.value);
  li.appendChild(document.createTextNode(candidate.value));
  ul.appendChild(li);
  document.getElementById('textBox').value = "";
}
var input = document.getElementById("textBox");
input.addEventListener("keyup", function(event) {
  event.preventDefault();
  if (event.keyCode === 13) {
    addItem();
  }

});
<input type="text" id="textBox" value="" />
<ul id="dynamic-list"></ul>