我正在尝试这个:
//this represents all of the select tags on the page
var select = document.getElementsByTagName("select");
//Listener for when the option changes
select.addEventListener("change", hi(), false);
function hi() {
alert("hi");
}
<select>
<option>one</option>
<option>two</option>
</select>
但事件监听器似乎没有工作,在jsfiddle中它在页面加载时有效,但在我更改选项时却没有...
答案 0 :(得分:5)
从功能名称中删除括号:
select.addEventListener("change", hi, false);
您正在调用该函数并附加其结果,而不是附加函数本身。
编辑:此外,正如Teemu指出的那样,您正在尝试附加到集合而不是单个select
项目。试试var select = document.getElementsByTagName("select")[0];
- 或者更好的是,使用getElementById
。