我正在创建一个从输入中获取值的 div,这个 div 包含一个完成按钮,我想用它来清除当前节点及其父节点。我正在使用事件侦听器来完成每次调用 add 函数时创建的变量,但我的问题是每次调用 add 函数时 eventlistener 都会自动触发。
<div>
<form method="post" action="/">
<input class="inputCls" type="text" name="item" id="input" />
<div class="addCls" onclick="add()" style="cursor:pointer">Add</div>
</form>
<script>
function add() {
var inpElem = document.getElementById('input');
var doneElem = document.createElement('div');
var divElem = document.createElement('div');
var done = document.createElement('div');
if(inpElem.value == '') {
return false;
inpElem.value;
}
else {
document.body.appendChild(divElem);
divElem.className = 'alert';
divElem.innerHTML = inpElem.value;
divElem.appendChild(done);
done.className = "doneBtn";
done.innerHTML = "Done";
/*creating the closing button */
done.addEventListener("click",close(),false);
}
}
function close() {
alert('yaay');
/*removeChild(this.parentNode);*/
}
</script>
我应该如何添加 eventListener?