OnClick or OnHover Event Listen For All IMG in javascript

OnClick or OnHover Event Listen For All IMG in javascript

本文关键字:All IMG in javascript For Listen or OnHover Event OnClick      更新时间:2023-09-26

>我有一个图像列表我想在我的页面上的任何"img"上监听点击操作或悬停操作,没有 ID。我想使用常规的javascript,并与现代浏览器友好。

我做了很多研究和阅读,但我还没有找到解决方案。我认为我的代码可能看起来像这样,但我并不积极:

var allimg = document.getElementsByTagName('img');
for(var i = 0; i < allimg.length; ++i) {
   // do something
}

我如何添加onlick,我需要在页面加载时将其作为函数调用吗? 如何让 JavaScript 在单击时对所有 img 标签做出反应?

使用事件委派:

document.getElementsByTagName('body')[0].onclick = function (event) {
    if (event.target.nodeName === "IMG") {
        console.log('do something');
    }
} 

小提琴

你有

没有机会有jQuery? 㞖。。。

$(img).on('click',function(e){
  console.log('rad')
});

否则..你走在正确的轨道上。未经测试,但这应该让你到达那里...

function clickHandler(e){
  console.log('I love goats')   
}
var allimg = document.getElementsByTagName('img');
for(var i = 0; i < allimg.length; ++i) {
  allimg[i].onclick = clickHandler;
}

每个元素添加侦听器是没有用的。 在你的循环中尝试这个。 allimg[i].onclick/onmouseover = function(){//your code}