javascript中的事件侦听器不启动,除非加载页面

javascript中的事件侦听器不启动,除非加载页面,javascript,html,addeventlistener,Javascript,Html,Addeventlistener,我正在尝试: //这表示页面上的所有select标记 var select=document.getElementsByTagName(“选择”); //选项更改时的侦听器 select.addEventListener(“change”,hi(),false); 函数hi(){ 警报(“hi”); } 一 二 从函数名中删除括号: select.addEventListener("change", hi, false); 您正在调用函数并附加其结果,而不是附加函数本身 编辑:此外,正如蒂

我正在尝试:

//这表示页面上的所有select标记
var select=document.getElementsByTagName(“选择”);
//选项更改时的侦听器
select.addEventListener(“change”,hi(),false);
函数hi(){
警报(“hi”);
}

一
二

从函数名中删除括号:

select.addEventListener("change", hi, false);
您正在调用函数并附加其结果,而不是附加函数本身


编辑:此外,正如蒂姆所指出的,您试图附加到一个集合,而不是一个单独的
select
item。尝试
var select=document.getElementsByTagName(“选择”)[0]
-或者更好的方法是,使用
getElementById

侦听器可以正常启动,如果您只是将它们附加到从中返回的a以外的其他位置。请注意johnnycardy的回答。