jquery attr('disabled','disabled')在IE中没有完全工作(不禁用点击但看起来已禁用)

时间:2012-04-26 21:32:08

标签: jquery internet-explorer jquery-1.7

我在使用jQuery 1.7.1的Internet Explorer中遇到了attr('disabled','disabled')的问题。按钮显示为禁用,但如果单击它们仍然执行。在firefox,safari和chrome中,这表现得如预期的那样(什么都不做,阻止点击)。有任何想法吗?

    disableWizardButtons: function() {
        jQuery(this.wizardButtonSelector).filter(this.enabledSelector).each(function() {
            var button = jQuery(this);
            button.data().originalClass = button.attr('class');
            button.removeClass().addClass('btn-secondary-disabled');
            button.attr('disabled', 'disabled');
            button.prop("onclick", null);
        });
    }

2 个答案:

答案 0 :(得分:0)

通常你可以使用

button.disabled = true;

但是因为你获得jQuery obj尝试

this.disabled = true;

答案 1 :(得分:0)

通过ThiefMaster:

  

您是否知道您只需要以长形式编写jQuery一次?包裹你的   代码在(function($){....})(jQuery);,你可以使用$,无论noConflict是什么   使用与否。你应该使用.prop('disabled',true)来禁用一个元素。除了   因此,在禁用的元素上通常不会触发任何事件。你也不应该   尝试通过清除onclick属性来取消绑定事件。如果你使用jQuery绑定它们,   使用.unbind解锁它们('click')。