【发布时间】:2012-04-26 21:32:07
【问题描述】:
我在使用 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);
});
}
【问题讨论】:
-
你知道你只需要写一次长格式的
jQuery吗?通过将代码包装在(function($) { .... })(jQuery);中,无论noConflict是否已使用,您都可以使用$。你应该使用.prop('disabled', true)来禁用一个元素。除此之外,在禁用的元素上,通常根本不会触发任何事件。您也不应该尝试通过清除onclick属性来取消绑定事件。如果您使用 jQuery 绑定它们,请使用.unbind('click')取消绑定它们。
标签: jquery internet-explorer jquery-1.7