javascript - jQuery 中带有悬停类的弹出菜单(尝试使用 <ul> 复制选择框)

标签 javascript jquery css hover removeclass

我已经尝试解决这个问题有一段时间了,但我只是在兜圈子。

本质上,我有一个输入字段,其中有 2 个选项可供选择。这不是正常的<select>选项,而不是 <ul>与 2 <li>的。这对我正在做的事情来说很好。

状态1中:这只是一个普通的输入表单。

状态 2 中:用户将鼠标悬停在其上并可以选择(当前非事件状态,在下面的示例中为“排除”)。

状态 3 中:单击非事件(排除)选项,并与当前事件(包含)状态进行切换,导致排除现在成为事件状态。

我把这个放在jsfiddle上:http://jsfiddle.net/ULafm/13/ -- 我的文本切换在 jsfiddle 上无法正常工作,尽管它在我正在开发的本地服务器上可以正常工作)。

enter image description here

最大的问题是在单击非事件状态后摆脱 .form-filter .link a:hover 和 .form-filter .link:hover 的弹出窗口,如上图的状态 2 所示。

我尝试做 $(".form-filter ul li").removeClass("hover")以及其他一些变体,例如

$(".form-filter ul .li:hover").css("display", "none")

$(".form-filter ul li a:hover").css("display", "none")但没有效果。

LinkedIn 的搜索与我正在做的类似:

enter image description here

总结为一个问题:如何才能使文本切换后,悬停状态消失,看起来像状态 3?

任何帮助将不胜感激。

最佳答案

如果您希望列表在某些事件发生后隐藏,我可能会直接通过 JS 而不是通过 :hover CSS 选择器来控制其可见性。示例:

http://jsfiddle.net/ULafm/16/

关于javascript - jQuery 中带有悬停类的弹出菜单(尝试使用 <ul> 复制选择框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7694942/

相关文章:

css - 元素 "top"在较小的视口(viewport)宽度(<835 像素)上发生变化

javascript - 如果使用 JavaScript 或 jQuery 检查了相同 ID 的任何复选框,如何启用按钮

javascript - jQuery 从另一个 html 页面获取变量值

javascript - 从每个函数中的特定索引开始

javascript - 防止文档样式表影响chrome扩展注入(inject)的元素样式

css - 我是否还需要将所有 css 保存在一个文件中?

javascript - JQuery 重置所有其他子元素的 z-index

javascript - 为什么我定义的字符串打印到控制台时显示为未定义?

javascript - 我怎样才能以webm格式而不是mkv格式保存视频

javascript - 使用 Ajax 调用 javascript 访问 Basecamp 项目