1

如果我使用“禁用”选项禁用 jQueryUI 按钮,按钮会变暗。但我不希望它那样 - 我只希望它没有响应并以其原始布局风格 - 没有翻转,没有点击 - 一切都死了。

从按钮取消绑定按钮单击无济于事。也可以使用 unbind() 解除按钮上的所有事件的绑定。

有任何想法吗?

4

2 回答 2

3

事实上,您可以在禁用按钮后删除“禁用”类:

$( "button" ).button();

$( "button" ).button('disable');

$( "button" ).removeClass('ui-button-disabled ui-state-disabled')

这是一个小提琴:http: //jsfiddle.net/9gq9n/

于 2012-10-24T11:10:20.703 回答
1

好的,我终于想通了。要禁用任何 jQueryUI 按钮,包括附加标签的“按钮化”复选框(同时保留其原始布局),您必须执行以下操作:

  • 解绑其事件
  • 将事件与其标签解除绑定

所以,这里有一个例子:

$("mybuttons").unbind();
$("mybuttons").getLabels().unbind();

我正在使用我最近编写的插件(最初由 SO 成员Gijs编写,但并不总是有效......)

jQuery.fn.getLabels = function () {
    return this.map(function () {
        var parentLabels = $(this).parents('label').get();
        var associatedLabels = this.id ? associatedLabels = $("label[for='" + this.id + "']").get() : [];
        return parentLabels.concat(associatedLabels);
    });
};

希望能帮助到你。

于 2012-10-25T07:35:13.723 回答