【发布时间】:2010-01-19 13:17:57
【问题描述】:
通过单击以下 DIV,没有任何反应。 哪里出错了?
<div onclick="function dummy(that) { alert(that.toString())}" class="next">></div>
请帮忙。
【问题讨论】:
标签: javascript
通过单击以下 DIV,没有任何反应。 哪里出错了?
<div onclick="function dummy(that) { alert(that.toString())}" class="next">></div>
请帮忙。
【问题讨论】:
标签: javascript
您正在定义dummy,但没有调用它。我不认为它是这样工作的,无论如何都不是在 HTML onclick 属性中。
我建议你将 dummy() 移到单独的代码块中:
<script type='text/javascript'>
function dummy(that) { alert(that.toString())}
</script>
然后:
<div onclick="dummy(this);" class="next">></div>
或像这样以编程方式附加函数:
document.getElementById("myDummyDIV").onclick = function(event) { ..... }
【讨论】:
这应该可以解决问题:
<div onclick="dummy(this);" class="next"></div>
<script type="text/javascript">
function dummy(that) {
alert(that.toString());
}
</script>
【讨论】:
这实际上很愚蠢。您声明的函数不能用作函数,除非您打算做一些更奇妙的事情并从其他地方的其他方法调用此链接的单击事件。但是,如果您一心想要将函数声明放在 onclick 事件中,则可以这样做:
<div onclick="(function dummy(that) { alert(that.toString())})();" class="next">></div>
你最终将函数放在它自己的块中,然后最后的 () 告诉解析器这样做。
【讨论】:
这是一个函数声明,而不是调用。
你可以这样做:
(function dummy(that) { alert(that.toString())}) (event);
完整的 HTML 将是:
<div onclick="(function dummy(that) { alert(that.toString())})(event);" class="next">></div>
【讨论】:
你没有在这里创建函数 你可以写下面的
<div onclick="alert(that.toString())" class="next">></div>
【讨论】: