需求:登录页的验证码图片,单击刷新。
用juery事件绑定,
$("#captcha").bind('click', function(){ $(this).attr('src', 'captcha.htm'); //document.getElementById("captcha").setAttribute("src", 'captcha.htm'); });
在chrome与IE6下没问题,但是在firefox与IE7-8下有问题,单击图片,不刷新。
在firefox下,用firebug测试,发现这个事件绑定没问题,事件触发了,并执行了,但是$(this).attr('src', 'captcha.htm')没能让img去重新加载图片,然后我在firebug下,把执行过的网络链接给删除了,再单击图片,就可以刷新了,我估计是缓存的问题,也有可能是浏览器本身的什么特性。不管那么多,我就给链接加上一个随机数。
$(this).attr('src', 'captcha.htm?random='+Math.random());
再在firefox下执行,发现现在可以刷新了,然后在IE7-8下测试页没问题。
搞不清楚,为什么会这样?