如何禁用ladda按钮?

时间:2014-09-23 13:31:34

标签: javascript jquery html ajax twitter-bootstrap

我正在使用Ladda UI进行引导。

使用jquery我尝试在用户点击它后禁用按钮。

我尝试使用ajax OnComplete / OnSuccess / OnBegin,但没有用 - 按钮保持启用状态。

如果我在firebug上手动更改标记 - 我可以禁用它。还要注意js肯定会发射。

以下是标记:

<a id="icalSync" href="/iCal/iCalCreatedLinks" data-ajax-method="GET" data-ajax-complete="AjaxOnCompleteDisableButton" data-ajax="true" data-style="expand-left" class="btn ladda-button">
<span class="ladda-label">Sync iCal</span>
<span class="ladda-spinner"></span>
</a>

这是js功能:

function AjaxOnCompleteDisableButton() {
    $("#icalSync").attr("disabled", true);
}

我很感激你的帮助。

2 个答案:

答案 0 :(得分:2)

您的“按钮”不是真正的按钮。你需要以不同的方式处理它。要么使它成为<button>,要么在AjaxOnCompleteDisableButton中为它指定一个类,使其看起来像是被禁用(比如不透明度:0.5),并忽略它上面的触发事件。

答案 1 :(得分:2)

禁用对锚标记无效,因此您可以尝试:

 function AjaxOnCompleteDisableButton() {
event.preventDefault();
 }

或者将您的#icalSync更改为按钮并使用您的代码

<button id="icalSync" href="/iCal/iCalCreatedLinks" data-ajax-method="GET" data-ajax-complete="AjaxOnCompleteDisableButton" data-ajax="true" data-style="expand-left" class="btn ladda-button">
<span class="ladda-label">Sync iCal</span>
<span class="ladda-spinner"></span>
</button>

或者您可以添加禁用的类,在bootstrap中使用:

function AjaxOnCompleteDisableButton() { $("#icalSync").addClass("disabled"); }