sem*_*man 2 html javascript dom
我试图将一段代码附加到按钮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");
}
Run Code Online (Sandbox Code Playgroud)
按钮出现在它所属的位置,其中的文本也是如此,但是当我按下按钮时,函数内的代码将不会执行,没有任何反应.我尝试在Firefox和Google Chrome中运行代码.
我还尝试将"click"属性更改为"onclick"属性,在附加时添加/删除函数括号,并使用btn.attachNow方法.什么都没发生.
非常感谢任何帮助,在此先感谢.
您正在使用函数表达式来定义函数,并在尝试分配事件处理程序后执行此操作.
因此,btn.addEventListener('click', handleClick);是一样的btn.addEventListener('click', undefined);
将函数定义移到代码中,使其首先发生.
更好的是,使用函数声明而不是函数表达式.
function handleClick (event) {
alert("DBZ");
}
Run Code Online (Sandbox Code Playgroud)
然后它将被提升并在调试器中查看时具有有用的名称.