我遇到了一个问题:启用按钮后,它看起来像已启用但无法点击。 (重装页面解决了这个问题,但我不会这样做)。首先,在(文档).ready上,我禁用此按钮。
启用i:
$("#submit_order").attr('disabled', false).removeClass( 'ui-state-disabled' );
表示禁用:
$("#submit_order").attr('disabled', true).addClass( 'ui-state-disabled' );
HTML code:
<button id="submit_order">Send an order</button>
按钮jQuery代码:
$( "#submit_order" )
.button()
.click(function() {
$( "#dialog-form" ).dialog( "open" );
});
启用后单击此按钮时,上面的代码未调用。
答案 0 :(得分:8)
是的,以前的答案可能对您有用,但对我来说,当我使用.removeAttr(“禁用”)并使用.removeClass(“ui-state-disabled”“重新启用”按钮时,事件不会触发。 )。
官方答案似乎是
$(".selector").button("option", "disabled", true);
禁用,
$(".selector").button("option", "disabled", false);
启用jQueryUI按钮()
答案 1 :(得分:6)
当你写作时
$("#submit_order").attr(...)
这意味着您使用stanadard属性。
你是不一致的:一旦你使用上面提到的方法,并且你正在写另一次:
$( "#submit_order" ).button().....
试试这个:
$("#submit_order").button().attr('disabled', false).removeClass( 'ui-state-disabled' );
$("#submit_order").button().attr('disabled', true).addClass( 'ui-state-disabled' );
答案 2 :(得分:1)
我记得jQueryUI通过提供不同的组件来扩展jQuery库,其中大多数组件都有方法enable()
和disable()
。
您可以尝试替代(恕我直言,更喜欢)方式:
$('#submit_order').button().enable();
and
$('#submit_order').button().disable();
这将使你的思想从手动管理属性中释放出来 - JQUI自己动手。 这很强大,因为您可以使用不同的底层元素创建按钮(以便启用和禁用它们将使用不同的方法) 恩。标准按钮使用属性disabled =“disabled”(浏览器实现 - 标准)
但是用锚制成的按钮根本不支持这个。
答案 3 :(得分:0)
要启用这样的尝试:
$('#submit_order').removeAttr('disabled').removeClass('ui-state-disabled');
并禁用:
$('#submit_order').attr('disabled', 'disabled').addClass('ui-state-disabled');