在DIV中禁用链接和表单输入

时间:2010-11-04 10:39:45

标签: jquery

我试图找出是否可以完全禁用所有交互 - 链接(文本或图像),表单输入/按钮 - 用于整个DIV。

例如,您有一个分为3个步骤的注册表单,但都显示在同一页面中。除非满足第一步(DIV1)要求,否则整个DIV2将会褪色(即50%),并且此DIV2中包含的元素绝对不会被点击。

我已经看到了一些其他问题,其中仅提到了如何禁用表单元素,而不是普通链接。简单地将DIV2与另一个DIV(具有更高的z指数和50%不透明度)重叠是否有意义,这会阻止与下面的那个进行任何交互?

谢谢!

更新 我尝试了“重叠掩码div”路线,但由于某种原因,我的脚本仅在您第一次点击“禁用”项目时才起作用。这是我正在使用的代码:

$('.disabled-mask').click(function() {
$(this).remove();
$('.content-box').not(this).each(function(){
    $(this).append('<div class="disabled-mask"></div>');
    $(this.target).animate({opacity:'hide'}, slidespeed);
});

});

“禁用屏蔽”是我在每个“内容框”上方放置的div,需要看起来已禁用。当点击禁用掩码时,我试图隐藏该掩码,然后在每个其他项目上附加掩码。正如我所说,我第一次点击它工作正常,但之后没有任何反应。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

在链接上设置disabled属性为non-standard,应该避免。创建重叠的<div>元素可能是最好的解决方案。

答案 1 :(得分:0)

另外两种可能性是:通过js / jquery用另一个标签(例如span)替换链接标签,或者修改链接的on click事件处理程序(只有在客户端启用js时才能工作)!