jQuery返回所有页面已禁用,然后启用

jQuery return all page disabled and then enable

本文关键字:然后 启用 返回 jQuery      更新时间:2023-09-26

我想要一个简单的方法来设置禁用的页面(链接,按钮等...全部禁用(,然后我需要能够在页面中重新启用所有内容。

有没有光明的方法?

对我来说显而易见的一个选项是设置"覆盖"层:

<div id="cover"></div>

有风格:

#cover {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100000;
}

如果您需要禁用所有内容,只需使用show方法使其可见即可。

$("#cover").show();

它将像这样工作:http://jsfiddle.net/KEAh8/

这不是一个轻量级的方法,因为它必须扫描 DOM 才能找到每个元素,但它可以工作:

$("input, select, button, textarea").attr("disabled", true);

这取决于页面的大小,以了解这是否是一种好方法,并且选择器可能会根据内容而变化。反转属性设置以再次启用所有内容。

编辑:

正如 Porco 指出的那样,要禁用锚标签,您必须阻止默认操作,因此请添加如下内容:

$("a").click(function(e) {
   e.preventDefault();
});

你可以做:

$('*').attr('disabled', 'disabled').addClass('disabled')

所以现在我们已经禁用了所有输入,并在所有内容中添加了"禁用"类。现在我们只想禁用链接,我认为这应该有效:

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

简单地重新启用所有内容:

$('*').attr('disabled', '').removeClass('disabled')