Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
addEventListener的Javascript代码不工作!?(单击时打开放大的img)_Javascript_Html - Fatal编程技术网

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

addEventListener的Javascript代码不工作!?(单击时打开放大的img),javascript,html,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); } funct

每当单击图像时,该图像应单独显示在新窗口中。它应该完全在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); 
}
var img=document.getElementsByTagName(“img”);
对于(变量i=0;i
不幸的是,点击任何图像都不会发生任何事情,我也不知道为什么。谁能帮我解决我的这个问题?
提前谢谢你

您的代码应该可以正常工作

您的问题的可能原因是:

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

编辑:

尝试新的更改如果记录了click registered,那么您可能已禁用弹出窗口或类似的功能

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

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); 
}
var img=document.getElementsByTagName(“img”);
对于(变量i=0;i
通过检查,您的代码应该可以正常工作

您的问题的可能原因是:

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

编辑:

尝试新的更改如果记录了click registered,那么您可能已禁用弹出窗口或类似的功能

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

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); 
}
var img=document.getElementsByTagName(“img”);
对于(变量i=0;i
我找到了解决方案! 没有注册点击的原因(这就是为什么我的代码对我不起作用的问题)是因为我在HTML文档中把
放在第一位,也就是在
标记后面。它应该是HTML文档中的最后一个,就在
标记关闭之前。我相应地移动了它,现在一切都正常了

我认为,如果有人遇到与我相同的问题,这可能是有价值的信息

我找到了解决办法! 没有注册点击的原因(这就是为什么我的代码对我不起作用的问题)是因为我在HTML文档中把
放在第一位,也就是在
标记后面。它应该是HTML文档中的最后一个,就在
标记关闭之前。我相应地移动了它,现在一切都正常了


我认为,如果有人遇到与我相同的问题,这可能是有价值的信息

isus,你的代码运行良好检查你可能有其他东西附加到这个事件侦听器或它的浏览器竞争对手,你可能正在为我工作:我使用Chrome,所以我不认为浏览器是问题所在,您的代码运行良好检查您可能有其他东西附加到此事件侦听器或其浏览器CompetibilitySems为我工作:我使用Chrome,因此我认为浏览器不是问题所在我知道IE不支持addEventListener,但是我使用的是Chrome,所以不会有任何问题。所以首先不要使用addEventListener,看看它是否适合你,如果它不适合你,那么你的代码中还有其他东西可以冒泡/捕捉你的点击事件。您可以尝试将console.log添加到放大函数中,以查看单击是否注册。如果是这样,那么您就有了一些类似于上面代码的弹出窗口块,它可以在您链接的JSFIDLE中工作。但是当我插入它时,它在我的代码中不起作用。我没有任何弹出框,所以也不可能是这样。我的网页从未阻止过其他弹出窗口,如
alert()
confirm()
函数。所以,正如你所说,一定有什么东西冒泡/捕获了我的点击事件。你检查了console.log是否出现了吗?我正在Atom中编码(只是一个文本编辑器),我在浏览器中“看到”了结果。因此,我不使用任何通过代码运行并像eclipse那样显示结果的生成器。这是不允许使用生成器的任务的一部分。但是我想我可以试着把我的代码放到JSFIDLE中,看看那里是否出现了
console.log
。我知道IE不支持addEventListener,但我使用的是Chrome,所以那里不会有任何问题。所以先不要使用addEventListener,看看它是否适合你,如果不支持,您的代码中还有其他内容会冒泡/捕获您的单击事件。您可以尝试将console.log添加到放大函数中,以查看单击是否注册。如果是这样,那么您就有了一些类似于上面代码的弹出窗口块,它可以在您链接的JSFIDLE中工作。但是当我插入它时,它在我的代码中不起作用。我没有任何弹出框,所以也不可能是这样。我的网页从未阻止过其他弹出窗口,如
alert()
confirm()
函数。所以,正如你所说,一定有什么东西冒泡/捕获了我的点击事件。你检查了console.log是否出现了吗?我正在Atom中编码(只是一个文本编辑器),我在浏览器中“看到”了结果。因此,我不使用任何通过代码运行并像eclipse那样显示结果的生成器。这是不允许使用生成器的任务的一部分。但是我想我可以试着把我的代码放到JSFIDLE中,看看那里是否出现了
console.log