【问题标题】:JavaScript button onclick not workingJavaScript按钮onclick不起作用
【发布时间】:2017-03-01 11:16:00
【问题描述】:

<button onclick="hello()">Hello</button>

<script>
  function hello() {
    alert('Hello');
  }
</script>

这是我的代码。但它不起作用。当我点击按钮时,什么也没有发生。

【问题讨论】:

  • 现在当我加载页面而不是点击按钮时会发出警报
  • 我弄错了代码,像@levi 写的那样使用它。
  • 看看你在控制台中遇到了什么错误。因为你的代码工作正常。
  • 它在这里工作
  • 您的代码没有证明您描述的问题。

标签: javascript html function button onclick


【解决方案1】:

请注意其他遇到此问题的开发人员,如果您使用保留的方法名称,例如,您可能会遇到此问题。 clear.

<!DOCTYPE html>
<html>
<body>
  <button onclick="clear()">Clear</button>
  <button onclick="clear2()">Clear2</button>
  <script>
  function clear() {
    alert('clear');
  }
  function clear2() {
    alert('clear2');
  }
  </script>
</body>
</html>

【讨论】:

  • 我想知道为什么我的名为 clear 的方法没有被调用...
【解决方案2】:

这个怎么样?

<button id="hellobutton">Hello</button>
<script>
function hello() {
alert('Hello');
}
document.getElementById("hellobutton").addEventListener("click", hello);
</script>

附:您应该将 hello() 放在按钮上方。

【讨论】:

    【解决方案3】:

    我自己遇到了这个问题,所以我可以确认有什么不对劲。不同之处在于我在运行时生成 DOm 元素。如果您在代码中找不到addEventListener 的位置,则将onclick 替换为onmousedown 似乎可以解决问题。

    【讨论】:

    • 这拯救了我的一天
    【解决方案4】:

    我遇到了类似的问题。我有child.jscommon.js 文件。在我的例子中,我的 HTML 文件同时使用了两个 JS 文件,并且它们都有一个同名的函数,

    child.js

    function hello(){}
    

    还有

    common.js

    function hello(){}
    

    删除其中一个后,我的代码可以正常工作,并且 onclick 开始工作。希望这会有所帮助!

    【讨论】:

      【解决方案5】:

      你的代码没有问题..运行这个sn-p

      function hello() {
      alert('Hello');
      }
      &lt;button onclick="hello();"&gt;Hello&lt;/button&gt;

      如果您想在窗口加载时发出警报。像这样改变你的代码

      (function(){
        alert('hello')
      })();

      【讨论】:

      • 它不会改变任何东西
      • 无法重现问题并不能回答问题。
      【解决方案6】:

      添加:

      type="button"
      

      到按钮元素。默认类型是“提交”,即在脚本运行之前提交表单。

      【讨论】:

        【解决方案7】:

        像这样在hello函数后面写分号

        <button onclick="hello();">Hello</button>
        

        【讨论】:

        • 这没什么区别...
        猜你喜欢
        • 1970-01-01
        • 2018-05-10
        • 1970-01-01
        • 1970-01-01
        • 2012-03-26
        • 2015-02-24
        • 2017-10-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多