0

我有一些下拉菜单显示:无,仅在单击时显示(使用 jquery)。但是,有些 div 被放置在下拉菜单“下方”的位置。考虑到下拉菜单在出现时必须超越所有内容,它们必须位于下方。但是,我能做些什么来“点击”这些下拉 div 吗?

我知道有“指针事件:无”但这似乎会禁用所有点击下拉菜单,这是我不能拥有的。

我见过 100 多个网站,其下拉菜单涵盖了其网站的整个部分。但是,当不使用时,这些菜单不会阻止位于“下方”的 div,那么这里的解决方案是什么?

我需要通过下拉菜单的定位来解决什么问题吗?

任何和所有的帮助表示赞赏。我花了很长时间才发现问题。我很困惑为什么我的 div 不能点击!然后我做了“clear:both”,它向下移动,最后意识到隐藏的 div 挡住了路。

4

1 回答 1

1

似乎您正在使用opacity: 0这些下拉 div,这使它们保持原位,并阻止鼠标事件在下面的元素上触发。

您应该使用以下方式以不同方式隐藏它们:

  1. 使用visibility: hiddendisplay: none(如果您还想对屏幕阅读器隐藏它)

  2. 通过使用巨大的负偏移(例如-999em),将它们绝对定位在可见视口之外。
    这将确定它们仍然可以被屏幕阅读器阅读。

或者,您可以与它的可见性一起切换pointer-events:none,但旧 IE 不支持pointer-events.

于 2012-05-20T18:45:06.133 回答