我环顾四周,我找不到能解决问题的任何东西。有一个帖子使用按钮,但我似乎无法根据我的需要修改它。
我试图只使用一个事件监听器进行多次选择。我想返回select的id和选中的值,但据我所知,我需要为每个id或document.getElementById("ID").addEventListener('change',func(),true)
使用document.getElementsByTagName('select').addEventListener('change', func(), true)
,我得到一个错误说:
selection.addEventListener is not a function. (In 'selection.addEventListener('change', func(), true)', 'selection.addEventListener' is undefined)
我希望有人可以花点时间告诉我哪里出错了,或者我是否需要使用不同的方法来完成我的任务。
感谢您的帮助
答案 0 :(得分:0)
方法getElementsByTagName
会返回HTMLCollection
个元素,而不是DOM Element,因此您无法使用addEventListener
。
您可以做的是浏览HTMLCollection中的所有元素并添加您想要的事件:
let selectElements = document.getElementsByTagName('select');
Array.prototype.forEach.call(selectElements, function(el) {
eladdEventListener('change', func(), true)
})