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

时间:2012-05-22 22:00:27

标签: javascript jquery html5

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

有一种轻松的方式吗?

3 个答案:

答案 0 :(得分:2)

对我来说显而易见的一个选择是设置“封面”图层:

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

风格:

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

如果您需要停用所有内容,只需使用show方法将其显示即可。

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

它的工作原理如下:http://jsfiddle.net/KEAh8/

答案 1 :(得分:1)

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

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

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

编辑:

正如Porco所指出的,要禁用锚标记,必须阻止默认操作,所以添加如下内容:

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

答案 2 :(得分:0)

你可以这样做:

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

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

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

简单地渲染一切:

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