js图片预览添加看不到图片

js图片预览添加看不到图片,第1张

在页面中,添加一个没有指定图片路径的img标签,通过js给img图片设置路径 在IE浏览器中运行效果如图所示,图片正常显示了 图片不显示,首先检查js是否找到了正确的dom对象,然后设置图片路径 ...

芝士回答2022-03-06

首先讲下这个bug的出现的情况,页面中有<a href="JavaScript:void(0)" onclick="document.getElementById('current').src=

‘images/001.jpg’“>这么一个a标签,onclick中的JS代码就是改变id为current的img标签的src属性,以达到动态切换图片的效

果。可是不幸的是:IE是动态改变的图片的路径,但是图片却不显示出来,得右键“显示图片”才能看到改变后的图片,不知是什

么原因,但据说是<a href="javascript:void(0)">或者<a href="#">这样使用a标签的话并不能阻止a标签最后触发一个什么行为,

导致ie6会错误的认为页面刷新或者重定向了,并且中断了当前所有连接,这样新图片的加载就被aborted了(不知真假),不管原

因是真是假,下面就先说下解决方案吧

简单的解决方法:

1、<a href="javascript:void(0)" onclick="document.getElementById('current').src=‘images/001.jpg’return false“

>;就是在代码后面加上return false即可

2、把A换成SPAN等

问题代码

1 function getNewCaptcha(obj, ct){

2 var oImg = obj.getElementsByTagName('img')[0]

3 var capId = obj.getElementsByTagName('input')[0].value

4 if(!capId){

5 capId = genCapId(obj, ct)

6 }

7 if(capId){

8 oImg.src = '/captcha?c=' + capId + '&r=' + Math.random()

9 oImg.style.display = 'block'

10 oImg.onerror = function(){

11 imgError(oImg)

12 }

13 obj.onclick = function(){

14 getNewCaptcha(obj)

15 return false

16 }

17 }else{

18 imgError(oImg)

19 }

20 }

15行为新加的return false,加上以后IE6就OK了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11942325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存