我对此代码有疑问:
var xButton = document.createElement("a");
xButton.className = "cXButton";
xButton.href = "#";
xButton.onclick = "closePanel()";
xButton.innerHTML = "X";
虽然“closePanel()”是我已写过的函数。我使用了Firebug,发现“onclick”属性没有出现在标签中。 我看到一些线程,而不是函数的名称,它的实现(函数closePanel(){...})。这不是我想要的。
有任何建议如何解决?
答案 0 :(得分:6)
您的原始代码存在两个问题:
"closePanel()"
是一个字符串。closePanel()
尝试(或者如果它不是字符串)尝试调用该函数并将其输出分配给xButton.onclick
应该是这样:
xButton.onClick = closePanel;
这会将函数closePanel()
的引用分配给xButton.onClick
,并在触发closePanel()
事件时调用xButton.onClick
。
请记住,您可以在this
声明中使用closePanel()
来引用所点击的元素。