onclick事件无法在JavaScript中运行

时间:2011-03-28 01:57:58

标签: javascript html javascript-events event-driven

我在带有按钮的HTML页面中有一些JavaScript代码。我有一个名为'click()'的函数来处理按钮的onClick事件。按钮的代码如下:

<input type="button" onClick="click()">button text</input>  

问题是单击按钮时,不会调用该函数。我在这做错了什么?
感谢

10 个答案:

答案 0 :(得分:94)

两个观察结果:

  1. 你应该写

    <input type="button" value="button text" />
    

    而不是

    <input type="button">button text</input>
    
  2. 您应该重命名您的功能。函数click()已在按钮上定义(它模拟了一次点击),并且优先于您的方法。

  3. 请注意,这里有一些建议是完全错误的,你不应该花太多时间在它们上面:

    • 请勿使用onclick="javascript:myfunc()"。仅在超链接的javascript:属性中使用href前缀:<a href="javascript:myfunc()">
    • 您不必以分号结尾。 onclick="foo()"onclick="foo();"都可以正常使用。
    • HTML中的事件属性不区分大小写,因此onclickonClickONCLICK都可以正常工作。通常的做法是以小写形式编写属性:onclick请注意,javascript本身区分大小写,因此如果您编写document.getElementById("...").onclick = ...,则必须全部为小写

答案 1 :(得分:13)

click()是一个保留字并且已经是一个函数,将名称从click()更改为runclick()它工作正常

答案 2 :(得分:4)

试试这个

<input type="button" onClick="return click();">button text</input>  

答案 3 :(得分:3)

检查您是否正在调用相同的功能。

<script>function greeting(){document.write("hi");}</script>

<input type="button" value="Click Here" onclick="greeting();"/>

答案 4 :(得分:0)

尝试修复大小写。 onclick代替onClick

参考:Mozilla Developer Docs

答案 5 :(得分:0)

我建议你这样做:     <input type="button" value="button text" onclick="click()"> 希望这能帮到你!

答案 6 :(得分:0)

<script>
//$(document).ready(function () {
function showcontent() {
        document.getElementById("demo22").innerHTML = "Hello World";
}
//});// end of ready function
</script>

我有同样的问题,onclick函数调用不起作用。我把函数包含在通常的“$(document).ready(function(){});”中用于包装jquery脚本的块。评论这个区块解决了这个问题。

答案 7 :(得分:0)

是的,您应该更改您的功能名称。 Javascript保留了方法,并且onclick =&gt;&gt;&gt;&gt; click()&lt;&lt;&lt;&lt;是其中之一,所以只需重命名,添加一个&#39;到它的结尾或什么的。 强文`

答案 8 :(得分:0)

今天这也发生在我身上。函数名称可能与关键字冲突。我的案例是scrape()。我更改了函数名称,一切正常。

答案 9 :(得分:0)

项目不响应事件的一个可能原因是项目与另一个项目重叠。 在这种情况下,您可能需要为要点击的项目设置更高的 z-index