我对这个代码有问题:

    var xButton = document.createElement("a");
    xButton.className = "cXButton";
    xButton.href = "#";
    xButton.onclick = "closePanel()";
    xButton.innerHTML = "X";

而“closePanel()”是我已经编写的函数。我使用了Firebug,发现“onclick”属性没有出现在标记中。
我看到了一些线程,其中不是函数名而是它的实现(function closePanel(){…})。这不是我要找的。
有什么解决办法吗?

最佳答案

您的原始代码有两个问题:
"closePanel()"是字符串。
closePanel()试图(如果不是字符串,则会)调用函数并将其输出分配给xButton.onclick
应该是这样的:

xButton.onClick = closePanel;

这将为函数closePanel()分配一个引用,并在触发xButton.onClick事件时调用closePanel()
请记住,可以在xButton.onClick的声明中使用this来引用单击的元素。

09-30 10:48