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

Posted

技术标签:

【中文标题】为啥简单的javascript代码没有运行?【英文标题】: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;是否有效?您是否在其他浏览器上尝试过?我感觉警报被屏蔽了 【参考方案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>

【讨论】:

这行得通,但是如果将脚本分配给外部文件并包含在标题中怎么办?

以上是关于为啥简单的javascript代码没有运行?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我用HTML写的网页加载不出来JavaScript的代码呢

为啥这个异步函数没有异步运行?

JavaScript, Ajax - 为啥 JavaScript 代码上的 Ajax 函数不能正常运行?

为啥无论是不是满足 JavaScript 条件,我的 C# 代码都会运行? [复制]

为啥我的 javascript 代码没有按预期工作

为啥这个 MVC 方法没有以并行方式运行?