Javascript 为什么我不能将事件侦听器分配给按钮?
下面是向我的html中的所有按钮元素添加事件侦听器的代码。结果–没有注册的事件侦听器,也没有错误Javascript 为什么我不能将事件侦听器分配给按钮?,javascript,dom-events,addeventlistener,event-listener,Javascript,Dom Events,Addeventlistener,Event Listener,下面是向我的html中的所有按钮元素添加事件侦听器的代码。结果–没有注册的事件侦听器,也没有错误 window.onload = function(){ addEvListeners(); // This function is to assign ELs to buttons in my HTML function addEvListeners(){ var target = document.getElementsByTagName("button")
window.onload = function(){
addEvListeners();
// This function is to assign ELs to buttons in my HTML
function addEvListeners(){
var target = document.getElementsByTagName("button");
for (i = 0; i <= target.length - 1; i ++){
target[i].addEventListener("click", function(){model();},false);
}
}
function model(){
return true; // just for placeholder
}
}
这对我有用。我最后在控制台里得到了一个溜溜球。您的按钮元素是否可能在onload时不存在?您如何知道它不工作?调用的函数只返回true。没有记录任何内容。顺便说一句,我不确定什么是“不工作”,但我看到的一件事是,你应该删除for循环中i++之间的空格。你怎么知道,它只返回true?你的代码在这里工作得非常好->我猜按钮不在那里。
<html>
<head>
<script>
window.onload = function(){
addEvListeners();
// This function is to assign ELs to buttons in my HTML
function addEvListeners(){
var target = document.getElementsByTagName("button");
for (i = 0; i <= target.length - 1; i ++){
target[i].addEventListener("click", function(){model();},false);
}
}
function model(){
console.log('yo!');
}
}
</script>
</head>
<body>
<button>Click Me</button>
</body>
</html>