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

Ric*_*rdP 55 javascript jquery jquery-ui jquery-mobile

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

$(document).ready(function() {
    $("#deliveryNext").button();
    $("#deliveryNext").button('disable');
});
Run Code Online (Sandbox Code Playgroud)

我可以启用它

$("#deliveryNext").button('enable');
Run Code Online (Sandbox Code Playgroud)

但是,如何检查按钮是否已禁用或启用?

此命令提供"undefined":

$("#deliveryNext").attr('disabled')
Run Code Online (Sandbox Code Playgroud)

一些想法?

编辑:我发现$("#deliveryNext").按钮('禁用')只接缝改变按钮上的样式,点击工作正常后我需要禁用按钮一些如何也..我试过. attr('禁用','禁用')但是当我测试.attr('禁用')时我得到了未定义的...

Edit2:更多关于如何在jQuery Mobile中禁用链接按钮的 "真实"问题

Viv*_*vek 122

尝试:is选择器

$("#deliveryNext").is(":disabled")
Run Code Online (Sandbox Code Playgroud)

  • 请改用".prop('disabled')". (3认同)

kin*_*uta 24

改为使用.prop:

$('#deliveryNext').prop('disabled')
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用的是bootstrap,那么标签A也可能需要hasClass("disabled"). (2认同)

lan*_*der 9

尝试

$("#deliveryNext").is(":disabled")
Run Code Online (Sandbox Code Playgroud)

以下代码适用于我:

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


Min*_*iel 7

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

if ($("#deliveryNext").attr('disabled')) {
  // do sth if disabled
} else {
  // do sth if enabled 
}
Run Code Online (Sandbox Code Playgroud)

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

当你评价undefined它会返回false.


小智 5

尝试

$("#deliveryNext").is('[disabled]');
Run Code Online (Sandbox Code Playgroud)


jac*_*bin 5

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);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)


Ros*_*oss 5

在尝试检查按钮是否被禁用时面临同样的问题.我已经尝试了各种方法,如btn.disabled,.is(':disabled'),.attr('disabled'),.prop('disabled').但没有人适合我.

一些,例如.disabled.is(':disabled')返回undefined和其他类似.attr('disabled')返回错误的结果 - false当按钮实际被禁用时.

但是,只有一个技术工作对我来说:.is('[disabled]')(方括号).

因此,要确定按钮是否已禁用,请尝试以下操作:

$("#myButton").is('[disabled]');
Run Code Online (Sandbox Code Playgroud)