我对javascript不太了解。我一直试图编写一个脚本,该脚本添加一行文本,以及一个删除自身和附加文本行的按钮。 尽管我没有问题地管理文本部分,但是按钮却有很多问题。 每当我尝试添加将元素删除的功能添加到按钮时,脚本便会继续工作,但是创建的元素永远不会出现(似乎按钮会立即删除自身和文本,这是必须先单击才能发生的)。>
var numberId=0;
function add(){
console.log("add");
var te = document.getElementById("textInput").value;
var d=document.createElement("tekst");
var bu=document.createElement("button");
var t=document.createTextNode(te);
d.appendChild(t);
d.id="a"+numberId;
document.getElementById("hereGoesResult").appendChild(d);
d.appendChild(bu);
function placeholderFunction(){
console.log("placeholder");
deletusTheTextus(d.id);
}
but.addEventListener("click",placeholderFunction());
numberId++;
}
function deletsTheText(a){
console.log("delets");
var elem = document.getElementById(a);
elem.remove();
}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv = "Content-type" charset = "utf-8">
<title > Sample HTML5 File</title>
<script src="scripts.js">
</script>
</head>
<body>
<form>
Enter:
<input type="text" id="textInput"> <input type="button" value="Add" onclick="add()"><br>
</form>
<div id="hereGoesResult">
</div>
</body>
</html>
对不起,我是第一次发帖 (变量名很差,因为我不得不快速对其进行编辑,而我通常的变量太傻了,无法发布到stackoverflow上)
答案 0 :(得分:0)
在尝试将其注册为事件处理程序时,请勿调用您的placeholderFunction
。所以这个:
but.addEventListener("click", placeholderFunction())
应如下所示:
but.addEventListener("click", placeholderFunction);
接下来的事情是,您为按钮变量编写了bu
,但是尝试将事件监听器附加到but
。另外,请确保您在deletsTheText
内部而不是placeholderFunction
内致电deletusTheTextus
;-)