1

我对这段代码有疑问:

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

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

任何建议如何解决它?

4

1 回答 1

6

您的原始代码有两个问题:

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

应该是这样的:

xButton.onClick = closePanel;

这将为函数分配一个引用,closePanel()在事件触发时xButton.onClick调用。closePanel()xButton.onClick

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

于 2013-04-22T15:40:51.920 回答