无法在onclick事件(JS)上向元素插入函数

时间:2013-04-22 15:39:59

标签: javascript html5

我对此代码有疑问:

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

虽然“closePanel()”是我已写过的函数。我使用了Firebug,发现“onclick”属性没有出现在标签中。 我看到一些线程,而不是函数的名称,它的实现(函数closePanel(){...})。这不是我想要的。

有任何建议如何解决?

1 个答案:

答案 0 :(得分:6)

您的原始代码存在两个问题:

  • "closePanel()"是一个字符串。
  • closePanel()尝试(或者如果它不是字符串)尝试调用该函数并将其输出分配给xButton.onclick

应该是这样:

xButton.onClick = closePanel;

这会将函数closePanel()的引用分配给xButton.onClick,并在触发closePanel()事件时调用xButton.onClick

请记住,您可以在this声明中使用closePanel()来引用所点击的元素。