addEventListener的Javascript代码无效!? (单击时打开放大的img)

时间:2016-05-14 14:39:53

标签: javascript html

每当单击图像时,图像应单独显示在新窗口中。它应该完全在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); 
}

不幸的是,点击任何图像时没有任何反应,我无法弄清楚原因。谁能帮我解决我的这个问题? 提前谢谢!

2 个答案:

答案 0 :(得分:0)

您的代码应该正常检查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); 
}

答案 1 :(得分:0)

我找到了解决方案! 没有点击注册的原因(结果证明我的代码不适合我的问题)是因为我将<script src="inlamning6.js" type="text/javascript"> </script> 首先放在HTML文档中,即在<body>标记之后。在<body>标记关闭之前,它应该是HTML文档中的 last 。我相应地移动了它,现在一切正常!

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