我按下回车键后一直试图清除文本框,但我找不到任何解决方案,搜索超过2小时..这是代码:
HTML:
@ViewChild('element1') element1: ElementRef;
的javascript:
@ViewChild(ChildComponent) child: ChildComponent;
constructor(private renderer: Renderer2) {}
hideElement() {
this.renderer.setStyle(child.element1 , 'visibility' , 'hidden');
}
答案 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>