如何停用<a> styled as jquery-ui button using Javascript

时间:2016-09-25 15:47:48

标签: javascript jquery html css

I have an HTML element <a> styled with jquery-ui to appear as a button. The html is shown below:

<a id= "delete-user"class="ui-button ui-widget ui-corner-all">DELETE USER</a> 
<a id= "save-user" class="ui-button ui-widget ui-corner-all" style="float:right">SAVE</a>

I have tried setting the disabled attribute of the element in javascript without any success. The code I have tried is shown below.

$("#save-user").attr("disabled", true);   //disable save button

The above statement works with <input> perfectly but not with the <a>.

How can I fix this problem?

4 个答案:

答案 0 :(得分:1)

a个元素没有禁用状态。 jQuery UI通过其自己的disabledoption为其按钮提供禁用状态,如下所示(如文档所示):

$("#save-user" .button( "option", "disabled", true );

旁注:在的元素具有禁用状态(如input元素)上,您使用propprop("disabled", true)),而不是{{1 (attr),用于更改该属性的状态。 (如果你使用attr("disabled", true),jQuery会尝试为你做正确的事情,但最好理解属性和属性之间的区别并使用正确的访问器。)你可以使用属性对于它,设置为attr,清除为.attr("disabled", "any-string-here")。但.removeAttr("disabled")更清晰,更简单。

附注2:由于您的prop元素不是链接,因此请考虑使用abutton。他们具有您可以通过input设置的禁用状态(但如果您这样做,您还必须告诉jQuery UI通过refresh更新按钮外观)。

答案 1 :(得分:0)

禁用属性仅关联按钮和输入文件结构,您要在此处执行的操作是event.preventDefault。它会像禁用一样工作,但它取决于你的编码,如果要显示它已禁用,你必须通过jquery添加add

答案 2 :(得分:0)

a没有禁用属性。但你可以使用CSS禁用它。

.disabled {
        pointer-events: none;
        cursor: default;
        opacity: 0.6;
}

$("#save-user").addClass('disabled');

答案 3 :(得分:-1)

简易解决方案:将a代码更改为button代码