入力から値を取得する 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 を追加するにはどうすればよいですか?