【问题标题】:Can't insert a function to a element on onclick event (JS)无法在 onclick 事件(JS)上向元素插入函数
【发布时间】:2013-04-15 14:10:54
【问题描述】:

我对这段代码有疑问:

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

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

有什么解决方法的建议吗?

【问题讨论】:

标签: javascript html


【解决方案1】:

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

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

应该是这样的:

xButton.onClick = closePanel;

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

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

【讨论】:

  • 它可以工作,虽然它的 onClick 属性没有出现在 Firebug 中。
猜你喜欢
  • 2018-06-13
  • 2014-09-13
  • 2018-08-13
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
  • 1970-01-01
相关资源
最近更新 更多