jQuery-ui:启用禁用按钮不会恢复事件

jus*_*sti 5 jquery jquery-ui button

我有一个问题:启用按钮后,它看起来像启用但不可点击.(重装页面解决了这个问题,但我不会这样做).首先,在(文件).ready上,我禁用此按钮.

为了启用我做:

$("#submit_order").attr('disabled', false).removeClass( 'ui-state-disabled' );
Run Code Online (Sandbox Code Playgroud)

禁用:

$("#submit_order").attr('disabled', true).addClass( 'ui-state-disabled' ); 
Run Code Online (Sandbox Code Playgroud)

HTML代码:

<button id="submit_order">Send an order</button> 
Run Code Online (Sandbox Code Playgroud)

按钮jQuery代码:

$( "#submit_order" )
    .button()
    .click(function() {
          $( "#dialog-form" ).dialog( "open" );
});
Run Code Online (Sandbox Code Playgroud)

当我在启用后单击此按钮时,上面的代码没有调用.

小智 8

是的,以前的答案可能对您有用,但对我来说,当我使用.removeAttr("禁用")并使用.removeClass("ui-state-disabled")"重新启用"按钮时,事件不会触发.

官方的答案似乎是

$(".selector").button("option", "disabled", true);
Run Code Online (Sandbox Code Playgroud)

禁用,和

$(".selector").button("option", "disabled", false);
Run Code Online (Sandbox Code Playgroud)

启用jQueryUI按钮()

来自http://jqueryui.com/demos/button/#option-disabled


rzu*_*004 6

当你写作

$("#submit_order").attr(...)
Run Code Online (Sandbox Code Playgroud)

这意味着您使用stanadard属性.

你是不一致的:一旦你使用上面提到的方法,你再写一次:

$( "#submit_order" ).button().....
Run Code Online (Sandbox Code Playgroud)

试试这个:

$("#submit_order").button().attr('disabled', false).removeClass( 'ui-state-disabled' );

$("#submit_order").button().attr('disabled', true).addClass( 'ui-state-disabled' );
Run Code Online (Sandbox Code Playgroud)