Javascript Onclick函数对输入元素不起作用
我正在尝试使用下面的代码片段“侦听”任何输入字段上的单击Javascript Onclick函数对输入元素不起作用,javascript,Javascript,我正在尝试使用下面的代码片段“侦听”任何输入字段上的单击 document.getElementsByTagName('input').onclick = function(){ console.log('clicked an input field'); } 但是当我点击输入字段时,什么也没有发生 我仔细检查了一下,以确保使用此代码段使用getElementsByTagName检测到输入字段,它显示了200个对象 elems = document.getElementsByT
document.getElementsByTagName('input').onclick = function(){
console.log('clicked an input field');
}
但是当我点击输入字段时,什么也没有发生
我仔细检查了一下,以确保使用此代码段使用getElementsByTagName检测到输入字段,它显示了200个对象
elems = document.getElementsByTagName('input');
console.dir(elems);
控制台屏幕截图:
这有没有一个不起作用的原因?我尝试将代码移动到不同的部分,以确保文档在运行时加载
纯javascript,不使用jquery,返回一个html集合。所以您需要检索单个元素,然后将事件附加到它
[…document.getElementsByTagName('input')].forEach((项)=>{
item.addEventListener('单击',函数()){
log('单击输入字段');
})
})
您确定不想改为onchange吗?是否确保在加载页面之前不执行脚本?执行脚本时,DOM树中的元素是否已经存在?@chriss我相信是这样,因为我将它放在window.onload中,并且它在elems=document.getElementsByTagName('input')的正下方运行;它返回200个元素,所以我认为它们是there@EugenSunic是的,我想改变背景颜色,而不管字段的值。这个问题有点让人困惑,你知道你得到了一个集合,但我想你也知道,你不能点击它。谢谢,奇怪的是我得到了“未捕获的SyntaxError:意外标记“…”您正在使用哪个浏览器?浏览器上的chrome版本81.0.4044.122”mac@RobertSinclair请参阅更新的答案和替代方法