我正在创建一个从输入中获取值的div,这个div包含一个完成按钮,我想用它来清除当前节点及其父节点。我正在使用每次调用add函数时创建的done变量的事件监听器,但我的问题是每次调用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?