我想要一个简单的方法来禁用enteir页面(链接,按钮等...全部禁用)然后我需要能够重新启用页面中的所有内容。
有一种轻松的方式吗?
答案 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')