jquery其他页面元素在$(“#div”)之后不活动.show()

时间:2010-03-09 14:53:21

标签: jquery

我该怎么办?我在页面上有很多html元素。点击html按钮后,我想要,我的特殊div显示,但是,其他HTML不活动。例如,textareas不可编辑,按钮不可点击。

感谢

忘了说“SpecialDiv”还包含按钮,选择,textareas等,它们必须“能够”。

3 个答案:

答案 0 :(得分:1)

您需要制作一个覆盖整个页面的单独,透明的<div>

您可能正在寻找jQuery UI DialogjqModal

答案 1 :(得分:1)

$('#yourDiv').show();
$('input, textarea, button').attr('disabled', 'disabled');

答案 2 :(得分:1)

嗯,这有点模糊,但

function zap() {
  $('#magicDiv').show();
  $('input, button, textarea, select').attr({disabled: true});
}
function unzap() {
  $('#magicDiv').hide();
  $('input, button, textarea, select').attr({disabled: false});
}

现在,如果你需要担心可能会禁用输入的其他事情,你可以这样做:

function zap() {
  $('#magicDiv').show();
  $('input, button, select, textarea').each(function(_, elem) {
    if (!elem.disabled) {
      $(elem).data('zapped', true).attr('disabled', true);
    }
  });
}
function unzap() {
  $('#magicDiv').hide();
  $('input, button, select, textarea').each(function(_, elem) {
    if ($(elem).data('zapped')) {
      $(elem).data('zapped', false).attr('disabled', false);
    }
  });
}