浏览互联网以了解如何禁用按钮:
<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');
});
最后 - 如何启用/禁用按钮?
答案 0 :(得分:4)
当您使用链接标记作为button(即添加data-role="button"
)JQM时,buttonMarkup插件应用按钮小部件标记/样式但不实际创建一个按钮小部件。由于您没有按钮小部件,因此无法使用按钮小部件方法(启用,禁用等),而是禁用或启用“按钮”,您需要添加/删除ui-disabled
上课。
$('#save-user').addClass("ui-disabled");
这是一个简单的jsBin
作为旁注,如果您没有使用导航按钮,则可能需要使用表单按钮(input
,button
),如果您使用常规按钮,则可以改为使用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');
});
答案 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/>