我有img
<img src="captcha.jpg" id="my-image"/>
用于更改验证码图像的jQuery脚本
<script>
$(document).ready($("#my-image").click(function(){
$('#my-image').attr('src', "captcha.jpg");
alert('adfgf');
}));
</script>
当我点击图像触发图像更改并在Chrome中调用警报时。但是在Firefox和IE中警报被调用但图像没有改变。如何解决?
编辑
@RequestMapping(value = "/captcha.jpg", method = RequestMethod.GET)
public void captcha(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.captcha(req, resp);
}
答案 0 :(得分:2)
您使用ready
handler发出错误,需要将其传递给函数。
这是你应该做的事情:
$(document).ready(function() {
$("#my-image").click(function(){
$('#my-image').attr('src', "captcha.jpg");
alert('adfgf');
});
});
编辑:我添加了一个示例代码段,向您展示它是否有效。
$(document).ready(function() {
$("#my-image").click(function(){
$('#my-image').attr('src', "//placehold.it/100x100");
alert('adfgf');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img src="//placehold.it/50x50" id="my-image"/>
编辑n°2:如果您只想重新加载/刷新图片,可以使用:
$('#my-image').attr('src', "captcha.jpg" + Math.random())