被互动防止HTML内容我有它位于上覆下面,并通过点击上覆,该幻灯片放在一旁的按钮显示一个站点菜单。从
我想要做的是什么,而网站菜单打开,防止覆(一切,但菜单按钮,理想情况下)从正在互动。
我可以通过隐藏和显示位于所有覆盖内容顶部的容器来完成此操作,但我想知道是否有一种方法可以使用CSS(最佳选项)或JavaScript设置某种属性来禁用点击/触摸上面的事件。有任何想法吗?
被互动防止HTML内容我有它位于上覆下面,并通过点击上覆,该幻灯片放在一旁的按钮显示一个站点菜单。从
我想要做的是什么,而网站菜单打开,防止覆(一切,但菜单按钮,理想情况下)从正在互动。
我可以通过隐藏和显示位于所有覆盖内容顶部的容器来完成此操作,但我想知道是否有一种方法可以使用CSS(最佳选项)或JavaScript设置某种属性来禁用点击/触摸上面的事件。有任何想法吗?
你可以使用jQuery的覆盖模式,从使用任何东西,但无论是在模式DIV禁止用户。
谢谢 - 这是一个好主意,但我不想包含jQuery UI如果我可以避免它。 – mheavers 2013-04-25 20:24:56
当菜单打开时,添加此属性来控制任何你想禁用某个菜单时关闭
onclick="return false;"
然后删除该属性。这将防止发生默认操作。
你可以做到这一点,而不通过使用此代码添加属性:
document.getElementById("myElement").onclick = function() { return false; }
CSS是对的样子,而不是行为。所以,你can't启用或禁用应用CSS到它们的元素。
您与覆盖解决方案是相当有能力,我会做这样了。请注意,您的叠加层可以是透明或半透明的。
它可以通过重载使用JavaScript单击事件得到解决,但为什么还要建立一个复杂的解决方案(你必须重新定义每个元素的onclick
事件,然后以某种方式将其恢复正常),如果你”已经有了一个简洁的解决方案?
由于mbsurfer已经提出,除了你的菜单禁用所有的快捷方式是使用了jQuery UI的.dialog
与modal
选项:
$(function() {
$("#menu").dialog({
modal: true
});
});
更多信息的文档:http://api.jqueryui.com/dialog/
什么是你'div',你不想与互动的内部?或者它是“div”本身而不是它的孩子? – 2013-04-25 19:34:26