【问题标题】:How do I disable a jqueryui button如何禁用 jqueryui 按钮
【发布时间】:2010-09-17 19:51:30
【问题描述】:

当我点击一个 jquery ui 按钮时,它仍然会触发点击事件回调。如何阻止该事件?我必须手动跟踪状态还是 jquery ui 会为我处理这些?

【问题讨论】:

  • 你能把你的代码放上来吗?

标签: jquery-ui button


【解决方案1】:

试试这个。

$('#button_id').button("disable");
$('#button_id').button("enable");

【讨论】:

  • 这就是我正在做的,但我仍然触发了 .click() 回调。
  • @ablerman jQueryUI 应该会为您正确处理此问题。在我的本地示例中,当我使用 $('#button_id').button("disable") 时,不会为 button_id 触发 .click() 处理程序,然后在我调用 $('#button_id').button('enable') 时正确地重新启用
  • 我在 click() 处理程序中执行此操作: ($("#button_id").button().attr("disabled")) return;
  • 在那个按钮看起来像被禁用但仍然像正常的链接按钮一样工作之后。
【解决方案2】:

它对我有用:

$("#button_id").attr("disabled", true).addClass("ui-state-disabled");

【讨论】:

    【解决方案3】:

    根据文档:

    // setter
    $( "#button_id" ).button( "option", "disabled", true );
    

    【讨论】:

    • 所以,你可以像这样初始化你的按钮:$( "selector" ).button() .click(function () { if (this.checked) $(this).button("option", "icons", {secondary: "ui-icon-circle-check"}) }) .filter(":checked").button({icons: {secondary: "ui-icon-circle-check"}}) .filter(":disabled").button( "option", "disabled", true ); });
    • 这不会设置 ui-state-disabled 类,所以按钮看起来仍然是启用的。
    【解决方案4】:

    如果你这样定义:

    $("#mybtn").button();
    

    您必须像这样启用/禁用:

    $("#mybtn").button("enable");
    // OR
    $("#mybtn").button("disable");
    

    【讨论】:

      【解决方案5】:

      其实是:

      $("#btn").button({"disabled":true});
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-02
        • 2013-10-18
        • 1970-01-01
        • 1970-01-01
        • 2015-02-10
        • 1970-01-01
        相关资源
        最近更新 更多