繁体   English   中英

未触发 JavaScript 事件

[英]JavaScript event not being fired

单击#theButton ,应触发警报。 为什么使用以下方法没有触发任何事件?

            var theButton = document.getElementById("theButton");
       
            theButton.onclick = function(){alert("Clicked!");}
            theButton.onclick = clickAlert;
            theButton.onclick(alert("Clicked!"));
    
            function clickAlert(){
                alert("Clicked!");
            }
        </script>
    </head>
    <body>
        <input type="button" id="theButton">
    </body>
</html>

你有三个问题

  1. 您在第 7 行拼错了function 。(顺便说一下,这会产生运行时错误)
  2. 您尝试在节点 #theButton 在 DOM 中可用之前访问它。 听听 Pekka 的建议
  3. 您覆盖了第 8 行的onclick属性 - 不确定您是故意这样做还是什么

因为当您运行脚本时theButton还不存在?

将它包装到主体的onload事件或 jQuery 的ready()

尝试将其包装在 document.Ready() 函数中。

我喜欢jQuery.ready()答案,但我相信您也可以将<script>块移动到某个点,就像在页面末尾一样取消按钮。

如果您将 onclick 放在输入标签中(并且拼写正确),它会起作用:

<html>
     <head>
      <script type="text/javascript" language="javascript">



       function clickAlert(){
        alert("Clicked!");       

       }

      </script>
     </head>
     <body>
      <input type="button" id="theButton" NAME="theButton" onclick="clickAlert()">
     </body>
    </html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM