事件和处理程序JavaScript

时间:2015-09-24 22:24:40

标签: javascript

我正在编写一个代码,我想在单击(按钮)时向我的网页显示单词和句子。到目前为止,我在页面上显示了一个文本。我想在文本后面显示句子。句子没有显示......有谁知道为什么?

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;

2 个答案:

答案 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);