我对这个代码有问题:
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
来引用单击的元素。