addEventListener的Javascript代码不工作!?(单击时打开放大的img)

Javascript code for addEventListener not working!? (open enlarged img when clicked)

本文关键字:img 单击 放大 代码 Javascript 工作 addEventListener      更新时间:2023-09-26

每当单击图像时,该图像都应单独显示在新窗口中。它应该完全用javascript完成(因此不应该使用HTML中的onclick函数),也不应该使用jquery。我做了一些研究,并成功地走到了这一步:

Javascript

var img = document.getElementsByTagName("img");
for(var i=0; i < img.length; i++) {
   img[i].addEventListener("click", enlarge);
}
function enlarge() { 
   window.open(this.src); 
}

不幸的是,当点击任何图像时都不会发生任何事情,我不知道为什么。有人能帮我解决这个问题吗?提前谢谢!

您的代码应该可以正常工作https://jsfiddle.net/3hgkaxgv/1/

您问题的可能原因是:

浏览器兼容性,或者您已经附加了某些内容,或者正在捕获单击事件。

编辑:

尝试新的更改如果点击注册被记录,那么你可能已经禁用了弹出窗口或类似的东西。

试试这个而不是你的代码。

var img = document.getElementsByTagName("img");
for(var i=0; i < img.length; i++) {
   img[i].onclick = enlarge;
}
function enlarge() { 
   console.log('click registered ');
   window.open(this.src); 
}

我找到了解决方案!没有注册点击的原因(这就是为什么我的代码不适合我的问题)是因为我在HTML文档中把<script src="inlamning6.js" type="text/javascript"> </script>放在了第一个,也就是<body>标记之后。它应该是HTML文档中最后一个,就在<body>标记关闭之前。我相应地移动了它,现在一切都很好!

我想,如果其他人和我在这里遇到同样的问题,这可能是有价值的信息。