当前位置: 首页 > 面试题库 >

禁用/启用按钮和链接的最简单方法是什么(jQuery + Bootstrap)

曾嘉言
2023-03-14
问题内容

有时我使用样式设置为按钮的锚,有时我仅使用按钮。我想禁用特定的clicky-thing,以便:

  • 他们看起来很残疾
  • 他们不再被点击

我怎样才能做到这一点?


问题答案:

Buttons

按钮很容易禁用,disabled而按钮属性是由浏览器处理的:

<input type="submit" class="btn" value="My Input Submit" disabled/>
<input type="button" class="btn" value="My Input Button" disabled/>
<button class="btn" disabled>My Button</button>

要使用自定义jQuery函数禁用这些功能,您只需使用fn.extend()

// Disable function
jQuery.fn.extend({
    disable: function(state) {
        return this.each(function() {
            this.disabled = state;
        });
    }
});

// Disabled with:
$('input[type="submit"], input[type="button"], button').disable(true);

// Enabled with:
$('input[type="submit"], input[type="button"], button').disable(false);






$('button').prop('disabled', true);
$('button').prop('disabled', false);

Anchor Tags

值得注意的是,这disabled不是锚标记的有效属性。因此,Bootstrap在其.btn元素上使用以下样式:

.btn.disabled, .btn[disabled] {
    cursor: default;
    background-image: none;
    opacity: 0.65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    color: #333;
    background-color: #E6E6E6;
}

请注意该[disabled]属性以及一个.disabled类的目标。该.disabled班是什么是需要做一个锚定标记显示为禁用。

<a href="http://example.com" class="btn">My Link</a>

当然,这不会阻止单击链接。上面的链接会将我们带到。为了防止这种情况,我们可以添加一个简单的jQuery代码片段,以将disabled要调用的类定位到定位标记event.preventDefault()

$('body').on('click', 'a.disabled', function(event) {
    event.preventDefault();
});

我们可以disabled使用toggleClass()以下方法切换类:

jQuery.fn.extend({
    disable: function(state) {
        return this.each(function() {
            var $this = $(this);
            $this.toggleClass('disabled', state);
        });
    }
});

// Disabled with:
$('a').disable(true);

// Enabled with:
$('a').disable(false);

Combined

然后,我们可以扩展前面制作的上一个disable函数,以检查要尝试使用禁用的元素的类型is()。这样,toggleClass()如果不是inputorbutton元素,我们可以进行切换,disabled如果不是,则可以切换属性:

// Extended disable function
jQuery.fn.extend({
    disable: function(state) {
        return this.each(function() {
            var $this = $(this);
            if($this.is('input, button, textarea, select'))
              this.disabled = state;
            else
              $this.toggleClass('disabled', state);
        });
    }
});

// Disabled on all:
$('input, button, a').disable(true);

// Enabled on all:
$('input, button, a').disable(false);

值得进一步指出的是,上述功能也适用于所有输入类型。



 类似资料:
  • 本文向大家介绍jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮,包括了jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮的使用技巧和注意事项,需要的朋友参考一下 菜单(Menu)定义在一些 DIV 标记中,如下所示: 当菜单创建之后是不显示的,调用 'show' 方法显示它或者调用 'hide' 方法隐藏它: 创建链接按钮(Link Button) 通常情况下,使用

  • 问题内容: 我有这个HTML: 我该如何做这样的事情: 当文本字段为空时,应禁用提交(disabled =“ disabled”)。 在文本字段中键入内容以删除禁用的属性时。 如果文本字段再次变为空(删除了文本),则应再次禁用提交按钮。 我尝试过这样的事情: …但这不起作用。有任何想法吗? 问题答案: 问题在于,仅当焦点从输入移开(例如,有人单击输入或将选项卡移出输入)时,更改事件才会触发。尝试改

  • 我有一个带有两个按钮的tkinter应用程序<代码>运行应用程序和。我不想让最终用户有机会单击,如果他没有先单击。 因此,按钮需要在首先单击按钮后取消禁用。 在下面的代码中,我创建了一个检查器函数,它应该在上面完成,但是存储数据按钮总是处于禁用状态。 这是我的代码:

  • 这是一个很奇怪的问题,因为我很确定逻辑是正确的,但它仍然不起作用。因此,当GUI启动时,在启动函数中,我对每个按钮、Kbutton、Bbutton等使用以下代码行将大多数按钮设置为灭活:

  • 问题内容: 所以我有一个像这样的按钮: 我要如何禁用和启用它?我已经尝试过,但是将其重新启用是一个问题。我尝试将其设置回false,但是没有启用它。 问题答案: 使用JavaScript 禁用HTML按钮 启用html按钮 使用jQuery jQuery 1.6之前的所有版本 禁用HTML按钮 启用html按钮 1.6之后的所有版本的jQuery 禁用HTML按钮 启用html按钮 PS更新了基于

  • pre { white-space: pre-wrap; } 通常情况下,使用 <button> 元素来创建按钮,而链接按钮(Link Button)则是使用 <a> 元素来创建的。所以实际上一个链接按钮(Link Button)就是一个显示为按钮样式的 <a> 元素。 为了创建链接按钮(Link Button),所有您需要做的就是添加一个名为 'easyui-linkbutton' 的 clas