禁用jQuery按钮 - 仍然没有配方

时间:2013-04-18 14:51:04

标签: javascript jquery-mobile

浏览互联网以了解如何禁用按钮:

<td valign="center" halign="left"><a href="#" id="save-user" data-role="button" data-inline="true" data-theme="b" data-icon="check">Save</a></td>

大多数食谱没有结果:

$('#operator-modify').ready( function () {
// None of the below disable button
//$("#save-user").attr("disabled", true).button("refresh");
//$('#save-user').addClass('ui-state-disabled').attr('disabled', true);
//$('#save-user').attr('disabled', 'disabled').addClass( 'ui-state-disabled');
});

最后 - 如何启用/禁用按钮?

5 个答案:

答案 0 :(得分:4)

当您使用链接标记作为button(即添加data-role="button")JQM时,buttonMarkup插件应用按钮小部件标记/样式但实际创建一个按钮小部件。由于您没有按钮小部件,因此无法使用按钮小部件方法(启用,禁用等),而是禁用或启用“按钮”,您需要添加/删除ui-disabled上课。

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

这是一个简单的jsBin

作为旁注,如果您没有使用导航按钮,则可能需要使用表单按钮(inputbutton),如果您使用常规按钮,则可以改为使用JQM按钮disable方法。

答案 1 :(得分:2)

jQuery mobile有几种类型的按钮。 “基础”页面中的第一个是<a data-role="button">。可以通过应用.ui-disabled类:

来禁用此类按钮
$('#operator-modify').ready( function () {
   $('#save-user').addClass('ui-disabled');
});

documentation中有一个关于链接样式为按钮的说明。

  

注意:类似按钮的链接具有与之相同的可视选项   下面是真正的基于表单的按钮,但有一些重要的   差异。基于链接的按钮不是button插件的一部分   只是使用底层的buttonMarkup插件来生成   按钮样式所以表单按钮方法(启用,禁用,刷新)   不受支持。如果您需要禁用基于链接的按钮(或任何   element),可以应用禁用的类ui-disabled   用JavaScript来达到同样的效果。

其他类型的按钮是<input type="button"><button>。可以通过调用“按钮”小部件的“禁用”方法来禁用此类型的按钮。

$('#operator-modify').ready( function () {
   $('#save-user').button('disable');
});

完整示例:http://jsfiddle.net/xH7W3/3/

答案 2 :(得分:0)

您不是要尝试禁用按钮,而是禁用<a>标记。

转换为使用<button>或使用.click()返回false时,它不应该去任何地方/做任何事情。

您可能还需要为锚点“禁用”

定义另一种样式

我建议使用<button>,但是......

答案 3 :(得分:0)

你所拥有的不是一个按钮。这是一个html锚标签。这就是为什么与按钮相关的禁用功能对您不起作用的原因。

如果您可以将<a>代码更改为<button>代码或<input type="button" />,则以下内容应该有效。 $("#save-user").attr("disabled", true);

如果您无法将其更改为按钮,则可以添加样式类以使超链接看起来处于禁用状态(灰色和鼠标光标正常而不是指针),并防止单击时出现默认值。

答案 4 :(得分:-1)

您正在使用锚点&lt;一个&GT;元件。其中没有像disabled这样的属性。 要禁用锚元素,您可以执行以下操作:

$("#save-user").click(function(e) { 
    e.preventDefault(); 
});

preventDefault确保取消任何HTML /浏览器反应。

如果你只想禁用一个按钮,它可以是输入&lt;输入&GT;元素或&lt;按钮&GT;你可以简单地执行以下操作:

<input type="button" value="Click Me" disabled/>