Javascript addEventListener未链接到元素Id?
尝试创建一个超级简单的脚本,在单击按钮后对页面说欢迎 消息根本没有出现,我不明白为什么 按钮的代码是HTML格式的Javascript addEventListener未链接到元素Id?,javascript,html,asp.net,visual-studio,Javascript,Html,Asp.net,Visual Studio,尝试创建一个超级简单的脚本,在单击按钮后对页面说欢迎 消息根本没有出现,我不明白为什么 按钮的代码是HTML格式的 <script src="JavaScript.js"></script> <div class="container text-center"> <a href="Conditions.aspx" class="newButton b
<script src="JavaScript.js"></script>
<div class="container text-center">
<a href="Conditions.aspx" class="newButton btn" id="EnterButton">
<span>Enter Irish Wrecks</span>
</a>
</div>
如果您能为我指明正确的方向,我们将不胜感激。首先,您需要确保在addEventListener调用中正确写入WelcomeMessage(因为Javascript区分大小写)。此外,您不能添加分隔符,因为您传递了函数,并且不想在addEventListener中调用它。我建议您将来使用浏览器的开发者控制台(Chrome和Firefox中的F12)更快地定位点错误
var firstButton = document.getElementById("EnterButton");
firstButton.addEventListener("click", WelcomeMessage, false);
function WelcomeMessage() {
alert("Welcome to Irish Ship Wrecks");
}
祝你好运
另外,请确保包含的脚本文件的名称正确。问题在于,您在该按钮之前包含了脚本 因此它无法检测到它 就这些:) --编辑--
将
脚本
标记移动到正文的末尾
这里有3个问题
- 不要调用
的第二个参数中的函数,只需将引用/定义作为addEventListener
回调传递即可李>
- 函数调用的案例问题。函数名区分大小写
- 脚本执行在DOM元素初始化之前,因此
将具有firstButton
未定义的值。将脚本放在末尾可以解决这个问题
var firstButton=document.getElementById(“EnterButton”);
firstButton.addEventListener(“单击”,欢迎消息,错误);
函数WelcomeMessage(){
警报(“欢迎来到爱尔兰沉船事件”);
}
将脚本移动到html末尾,或在关闭body标记之前。另一种方法是使用区分大小写的JavaScript<代码>欢迎留言!==欢迎留言。另外,如果添加括号,则是在执行函数,而不是将其作为引用传递。省略那些<代码>第一个按钮。添加EventListener(“单击”,欢迎消息,错误)。
var firstButton = document.getElementById("EnterButton");
firstButton.addEventListener("click", WelcomeMessage, false);
function WelcomeMessage() {
alert("Welcome to Irish Ship Wrecks");
}