创建一个按钮来运行Javascript

创建一个按钮来运行Javascript,javascript,html,dom,Javascript,Html,Dom,我试图将一段代码附加到ButtonOnClick属性 // 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.addEven

我试图将一段代码附加到ButtonOnClick属性

// 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和Google Chrome中运行代码

我还尝试将“click”属性更改为“onclick”属性,在附加时添加/删除函数括号,并使用btn.attachNow方法。真的没发生什么事

非常感谢您的帮助,
提前感谢。

您正在使用函数表达式定义函数,并且在尝试分配事件处理程序后执行此操作

因此,
btn.addEventListener('click',handleClick)与btn.addEventListener('click',未定义)相同

将函数定义向上移动到代码中,使其首先发生

更好的方法是使用函数声明而不是函数表达式

function handleClick (event) {
    alert("DBZ");
}

然后,在调试器中查看时,它将被提升并具有有用的名称。

如何将按钮添加到文档中?请参见:。输入很好,我没有注意到我实际上声明了一个变量,因此我尝试访问一个未定义的变量,为什么函数声明比包含函数的变量声明更好?这仅仅是为了避免使用指向函数的指针吗?因为(a)它被提升,并且(b)当在调试器中查看时,它将有一个有用的名称