我正在编写一个代码,我想在单击(按钮)时向我的网页显示单词和句子。到目前为止,我在页面上显示了一个文本。我想在文本后面显示句子。句子没有显示......有谁知道为什么?
function handleButtonClick(){
var button = document.getElementById("addButton");
button.onclick = handleButtonClick;
var textInput = document.getElementById("word");
var termName = textInput.value;
var dt = document.createElement("dt");
dt.innerHTML = termName;
var dl = document.getElementById("p");
dl.appendChild(dt);
var textInput = document.getElementById("sentence");
var termDefine = textInput.value;
var dd = document.createElement("dd");
dd.innerHTML = termDefine;
var dl = document.getElementById("define");
dl.appendChild(d);
}
window.onload = handleButtonClick;
答案 0 :(得分:3)
button.onclick = handleButtonClick;
应该是
button.addEventListener('click', handleButtonClick);
第二点是click事件处理程序应绑定在函数作用域之外。否则,每次函数handleButtonClick
触发时都会绑定一个新事件。
var button = document.getElementById("addButton");
button.addEventListener('click', handleButtonClick);
function handleButtonClick() {
// Your other code here
// that excludes the click handler
}
开发者工具是你的朋友。始终使用它来检查是否有任何错误。
答案 1 :(得分:0)
除了@sushanth已经提到的内容之外,您的代码中还有一个拼写错误:
而不是
dl.appendChild(d);
应该是
dl.appendChild(dd);