2

我们正在为一个包含带有选择的 HTML 表单的网站构建一个 CSS 下拉菜单。在 IE7 中,当您单击一个选择时,它的弹出菜单会(自然地)打开。然后,当您将鼠标悬停在菜单上以选择一个项目时,看起来好像焦点已从页面上移开,包含的 div/li 失去了 :hover,并且在您选择一个选项之前整个事情都关闭了。

在 JSFiddle 中预览:http: //jsfiddle.net/q284w/

上面的 JSFiddle 在“菜单 1”中有违规代码……而且,是的,我正在使用表格在该菜单中获得全高、垂直居中、3 列布局。它在原始代码中,所以我把它放在这里;我不认为这是问题的一部分,但你永远不会知道 IE。

当然,这适用于我可以测试的所有其他浏览器,包括 IE8+。

关于解决方法的任何想法?也许 JavaScript 可以挽救局面?

4

1 回答 1

0

最终,这个(我发现)没有简单的答案。你只需要使用 JavaScript 来解决它,这很痛苦。它的要点如下:

  1. 创建一个模拟 :hover 状态的特殊类。您将使用它来“保持”菜单打开。
  2. 创建一个函数,将此类添加到相应的菜单项并附加到下拉列表的 onClick。
  3. 在另一个函数中,删除该类并将其附加到下拉列表的 onChange(下拉列表关闭)。
于 2013-03-18T17:26:09.957 回答