img src 在 Firefox 和 IE 的 jQuery 脚本中没有更改

img src not changed in jQuery script in Firefox and IE

本文关键字:脚本 jQuery src Firefox IE img      更新时间:2023-09-26

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())

(来源)