【问题标题】:IE 10 . Attr not binding with Click Evenet即 10 . Attr 未与 Click 事件绑定
【发布时间】:2017-01-31 05:42:12
【问题描述】:

我正在创建一个应用程序,但我遇到了 IE 10 的问题。在 IE 10 中,验证码文本第一次显示,但是当我单击刷新验证码按钮时,它不起作用。我猜这是 ATTR 不起作用。 这是我的 JS

$(document).ready(function(){
    Login.initialise();
});
var Login = (function(){
    var login = function(){
        var data = Util.serializeForm("#loginform");
        var request = {
                        "ssoid":data.userName,
                        "password":$("#password").val(),
                        "captcha" : data.textCaptcha
                    };
        $( "#loginform" ).submit();
    };
    var loginFormReset = function(){
        console.log("loginFormReset");
    };
    var refreshCaptcha = function(e){
        if(e){
            e.preventDefault();
        }
        $('#captchaImage').attr(
            'src',Util.getContextPath()+'/RegisterCaptchaController'
        );

    };
    var init = function(){
        refreshCaptcha();
        $("#btnLogin").click(login);
        $("#btnLoginReset").click(loginFormReset);
        $("#refreshCaptcha").click(refreshCaptcha);
        $("#refreshCaptchaTop").click(refreshCaptcha);
    };
    return{
        initialise:init
    }
})();

第一次正确渲染。第二次点击刷新按钮它不起作用。在 Chrome 上运行良好

【问题讨论】:

  • 你能举个例子吗?在您的情况下,Util 是什么?你的控制台有什么错误吗?

标签: javascript jquery html internet-explorer


【解决方案1】:

哦,IE的“好处”...你需要将src设置为null,然后设置新的值。换句话说,这:

$('#captchaImage').attr(
  'src',Util.getContextPath()+'/RegisterCaptchaController'
);

...应该变成:

$('#captchaImage').attr('src', null);
$('#captchaImage').attr(
  'src',Util.getContextPath()+'/RegisterCaptchaController'
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多