【问题标题】:why is simple javascript code not running?为什么简单的javascript代码没有运行?
【发布时间】:2011-08-30 20:01:25
【问题描述】:

为什么简单的javascript代码没有运行?

<script type="text/javascript" charset="utf-8">

var btn = document.getElementById("myBtn");
btn.onclick = function(){
alert("Clicked");
};

</script>

<a id="myBtn" href="#">click me </a>

【问题讨论】:

  • 函数末尾加return false;是否有效?您是否在其他浏览器上尝试过?我感觉警报被屏蔽了

标签: javascript-events


【解决方案1】:

在加载文档后分配您的 onclick 处理程序。

<script type="text/javascript" charset="utf-8">

function assignHandler() {
    var btn = document.getElementById("myBtn");
    btn.onclick = function() {
        alert("Clicked");
    };
}

</script>

<body onload="assignHandler()">
<a id="myBtn" href="#">click me </a>
</body>

【讨论】:

    【解决方案2】:

    看看this。 javascript 块需要在 html 元素之后:

    您的代码可以工作,但最好像这样使用:

    var btn =
    document.getElementById('myBtn');
    btn.addEventListener('click',function
    (e) {   alert('my click works after the html element has been created');
    },true);
    

    【讨论】:

      【解决方案3】:

      顺序

      <a id="myBtn" href="#">click me </a>
      <script type="text/javascript" charset="utf-8">
      
      var btn = document.getElementById("myBtn");
      btn.onclick = function(){
      alert("Clicked");
      };
      
      </script>
      

      【讨论】:

      • 这行得通,但是如果将脚本分配给外部文件并包含在标题中怎么办?
      猜你喜欢
      • 2021-07-20
      • 1970-01-01
      • 2018-09-09
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 2014-05-18
      • 1970-01-01
      • 2021-10-17
      相关资源
      最近更新 更多