【发布时间】:2012-07-06 04:45:48
【问题描述】:
当我的用户按下自定义下拉列表时,我将停止 mousedown 事件。这是为了避免在用户有效拖动鼠标时浏览器的默认文本突出显示行为。
我在处理函数中使用 jQuery event.preventDefault() 调用并返回 false。
这有预期的效果,除了在 Chrome 中它还阻止 CSS :hover 状态在鼠标仍然按下时工作。
Firefox 不会遇到同样的问题。文本突出显示被取消,当用户在鼠标仍然按下的情况下滚动项目时,:hover 状态继续工作。
是否有一种方法也可以在 Chrome 中使用?
我可以添加更多 mouseover 处理程序来添加自定义类,但我更喜欢更优雅的解决方案,以便可以在我的 CSS 中使用 :hover 伪类。
【问题讨论】:
-
看起来文本突出显示和事件停止是红鲱鱼。 Chrome 似乎没有激活 :hover 状态与鼠标按下。我可能会求助于 JS 鼠标悬停
-
当您说自定义下拉菜单时,您是指由日志列表项和锚点组成的东西吗?
-
是的。被翻转的项目是
<li>元素
标签: javascript jquery google-chrome dom event-handling