是否有'禁用按钮'事件?

时间:2013-11-07 19:16:24

标签: jquery html button

或者我将如何模仿它?发生了什么事情我是一堆按钮,其中许多按钮在加载时被禁用,然后根据具体情况切换该属性。我想要做的是提供一个允许隐藏禁用按钮的选项。如果这是真的,一旦按钮被禁用,我希望它被隐藏 - 并且当它被启用后,我希望它可见。我该怎么做?

现在我有一个按钮,只需单击即可执行此操作:

$("button:disabled").toggle();

我想我可以有一个禁用/启用按钮的功能,并在那里检查是否有shouldHideDisabledButtons标志,如果是,则隐藏或显示它。这看起来似乎太多了,所以我想看看是否有更好的方法。

2 个答案:

答案 0 :(得分:0)

创建一个函数来为您处理此问题,并在您想要更改属性时调用它。例如:

HTML标记:

<button type="button" id="my-button">Go</button>

<强> JavaScript的:

<script type="text/javascript">
    var shouldHideButtonsFlag = true;

    function buttonState($button, disabled) {
        $button.prop('disabled', disabled);
        (disabled && shouldHideButtonsFlag) ? $button.hide() : $button.show();
    }

    buttonState($('#my-button'), true);    // Disables and hides button
    buttonState($('#my-button'), false);   // Enables and shows button
</script>

修改

  • 根据每个更新请求的用户选择添加了显示或隐藏按钮的标志。

答案 1 :(得分:0)

如果用户选择显示或隐藏按钮

,您可以将类添加到正文

http://jsfiddle.net/3hHrD/

CSS

.hide button[disabled] {
    display: none;
}

JS

$(function(){
function toggle() {
    $(document.body).removeClass("show hide").addClass($("#showHide").val());   
}
$("#showHide").change(toggle);

toggle();
});

HTML

<select id="showHide">
    <option value="show" selected="selected">Show</option>
    <option value="hide">Hide</option>    
</select>
<button disabled>Disabled</button>
<button>Enabled</button>