jQuery Mobile如何检查button是否被禁用?

我在我的jQuery Mobile网页上禁用了这样的button:

$(document).ready(function() { $("#deliveryNext").button(); $("#deliveryNext").button('disable'); }); 

我可以启用它

 $("#deliveryNext").button('enable'); 

但是,如何检查button是否被禁用或启用?

这个命令给出“未定义”:

 $("#deliveryNext").attr('disabled') 

有些想法?

编辑:我发现,$(“#deliveryNext”)。button('禁用')只有接缝,以改变button的样式,点击工作正常后,所以我需要禁用button一些也如何..我试过。 attr('disabled','disabled')但是当我然后testing.attr('禁用')我得到undefined …

Edit2:更多关于我的“真正的”问题在如何禁用jQuery Mobile中的链接button?

尝试:isselect器

 $("#deliveryNext").is(":disabled") 

改用.prop代替:

 $('#deliveryNext').prop('disabled') 

尝试

 $("#deliveryNext").is(":disabled") 

以下代码适用于我:

 <script type="text/javascript"> $(document).ready(function () { $("#testButton").button(); $("#testButton").button('disable'); alert($('#testButton').is(':disabled')); }); </script> <p> <button id="testButton">Testing</button> </p> 

我有同样的问题,我发现这是工作:

 if ($("#deliveryNext").attr('disabled')) { // do sth if disabled } else { // do sth if enabled } 

如果这给你未定义,那么你可以使用条件也。

当你评估undefined ,它将返回false

http://jsfiddle.net/8gfYZ/11/在这里检查;

 $(function(){ $('#check').click(function(){ if( $('#myButton').prop('disabled') ) { alert('disabled'); $('#myButton').prop('disabled',false); } else { alert('enabled'); $('#myButton').prop('disabled',true); } }); }); 

尝试

 $("#deliveryNext").is('[disabled]'); 

要查看在jQuery UIbutton上设置了哪些选项,请使用:

 $("#deliveryNext").button('option') 

要检查它是否被禁用,您可以使用:

 $("#deliveryNext").button('option', 'disabled') 

不幸的是,如果之前没有明确地启用或禁用button,则上述调用将仅仅返回button对象本身,因此您需要首先检查选项对象是否包含“禁用”属性。

所以要确定一个button是否被禁用,你可以这样做:

 $("#deliveryNext").button('option').disabled != undefined && $("#deliveryNext").button('option', 'disabled') 

$('#StartButton:disabled')..

然后检查它是否是未定义的。

这对我有效:

 $("#testButton").hasClass('ui-state-disabled') 

但是我更喜欢tomwadley的回答。

不过,(':disabled')代码对我来说也不适用,应该是最好的版本。 不知道,为什么它不起作用。 🙁

你可以使用jQuery.is()函数:disabledselect器:

 $("#savematerial").is(":disabled") 

面对同样的问题,当试图检查一个button被禁用。 我尝试了各种方法,如btn.disabledbtn.disabled .is(':disabled') .prop('disabled') 。 但是没有人为我工作。

有些例如.disabled.disabled .is(':disabled')返回undefined而其他像.attr('disabled')返回错误的结果 – 当button被禁用时返回false

但是只有一种技术适用于我.is('[disabled]')带方括号 )。

因此,要确定一个button是否被禁用,请试试这个:

 $("#myButton").is('[disabled]');