该disabled属性仅适用于作为form元素的子集(input, button,select并且texarea是我能立即想到的唯一)
$('.main-wrapper').find('input, textarea, button, select').each(function () {
$(this).prop('disabled', true);
});
您还可以div在包装器上放置一个覆盖层,以防止选择和锚标记的使用。将 a 添加div到您的 HTML,然后将其添加到您的 JS 和 CSS:
JavaScript
var mainWrapper = $('.main-wrapper')
mainWrapper.find('input, textarea, button, select').each(function () {
$(this).prop('disabled', true);
});
var mainWrapperPos = mainWrapper.position();
var mainWrapperHeight = mainWrapper.height();
var mainWrapperWidth = mainWrapper.width();
$('#cover').css({
'opacity':0.3,
'top': mainWrapperPos.top,
'left': mainWrapperPos.left,
'height': mainWrapperHeight,
'width': $('.main-wrapper').width()
});
CSS
#cover {
position:absolute;
}
注意:您应该同时进行禁用和覆盖的迭代以防止选项卡式选择。此外,对于<a>锚元素,您也可以将其设置href为#防止选项卡式使用。
jsFiddle