I have 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);
}
您使用ready
处理程序时出错,您需要向其传递一个函数。
这是你应该做的:
$(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())
(来源)