我正在尝试将一段代码附加到按钮OnClick属性。
// Creating a Button
var btn = document.createElement("BUTTON");
// Append a text to the button
var t = document.createTextNode("random text");
btn.appendChild(t);
// attach the function to the eventLisenter
btn.addEventListener('click', handleClick);
// function to be executed
var handleClick = function (event) {
alert("DBZ");
}
按钮出现在它所在的位置,其中的文本也是如此,但是当我按下按钮时,函数内的代码不会执行,没有任何反应。 我试过在Firefox&中运行代码谷歌浏览器。
我也试图改变"点击"属于" onclick"属性,附加时添加/删除函数的括号,也使用btn.attachNow方法。什么都没发生。
感谢任何帮助, 提前谢谢。
答案 0 :(得分:8)
您正在使用函数表达式来定义您的函数,而您正在之后尝试分配事件处理程序。
因此,btn.addEventListener('click', handleClick);
与btn.addEventListener('click', undefined);
将函数定义移到代码中,使其首先发生。
更好的是,使用函数声明而不是函数表达式。
function handleClick (event) {
alert("DBZ");
}
然后在调试器中查看时,它将被悬挂并具有有用的名称。