2013-04-25 58 views
1

被互动防止HTML内容我有它位于上覆下面,并通过点击上覆,该幻灯片放在一旁的按钮显示一个站点菜单。

我想要做的是什么,而网站菜单打开,防止覆(一切,但菜单按钮,理想情况下)从正在互动。

我可以通过隐藏和显示位于所有覆盖内容顶部的容器来完成此操作,但我想知道是否有一种方法可以使用CSS(最佳选项)或JavaScript设置某种属性来禁用点击/触摸上面的事件。有任何想法吗?

+0

什么是你'div',你不想与互动的内部?或者它是“div”本身而不是它的孩子? – 2013-04-25 19:34:26

回答

0

你可以使用jQuery的覆盖模式,从使用任何东西,但无论是在模式DIV禁止用户。

http://jqueryui.com/demos/dialog/#modal

+0

谢谢 - 这是一个好主意,但我不想包含jQuery UI如果我可以避免它。 – mheavers 2013-04-25 20:24:56

0

当菜单打开时,添加此属性来控制任何你想禁用某个菜单时关闭

onclick="return false;" 

然后删除该属性。这将防止发生默认操作。

你可以做到这一点,而不通过使用此代码添加属性:

document.getElementById("myElement").onclick = function() { return false; } 
0

CSS是对的样子,而不是行为。所以,你can't启用或禁用应用CSS到它们的元素。

您与覆盖解决方案是相当有能力,我会做这样了。请注意,您的叠加层可以是透明或半透明的。

它可以通过重载使用JavaScript单击事件得到解决,但为什么还要建立一个复杂的解决方案(你必须重新定义每个元素的onclick事件,然后以某种方式将其恢复正常),如果你”已经有了一个简洁的解决方案?

由于mbsurfer已经提出,除了你的菜单禁用所有的快捷方式是使用了jQuery UI的.dialogmodal选项:

$(function() { 
    $("#menu").dialog({ 
    modal: true 
    }); 
}); 

更多信息的文档:http://api.jqueryui.com/dialog/