【问题标题】:Javascript / jQuery detect hover on element after popup & not move mouseJavascript / jQuery在弹出后检测悬停在元素上并且不移动鼠标
【发布时间】:2014-06-30 18:44:06
【问题描述】:

我想检测鼠标何时悬停在元素上。容易吧?等等,还有更多

例如,如果我使用 jQuery 对话框(启动它),然后使用 enteresc 退出对话框,同时将鼠标悬停在元素上,(不移动THE MOUSE),我想检测悬停,它不会检测到它,直到我移动鼠标。

你怎么能解决这个问题?

编辑 1

显示的代码太多,但我会在有更多时间时编辑我的问题。

我基本上拥有的是一个可点击的 div,点击时显示红色。当用户单击该 div 时,会出现 jquery 对话框并且 div 颜色变为红色,请注意,当对话框启动时,我仍然有红色的 div。在我关闭的事件中,我删除了红色。但是,如果用户在将鼠标悬停在该 div 位置时按 ESC,我不希望红色消失..

所以我希望 divs 颜色在对话框关闭并且如果鼠标不在该元素上时消失。如果鼠标悬停在该悬停元素上,我还希望 div 颜色保持红色。

Atm 当我将鼠标悬停在该元素上并且对话框打开时,然后按 ESC,颜色会消失,这是我不想要的。如果我然后稍微移动鼠标以激活 mouseover 事件,颜色会改变...

希望这能满足我的要求。正如我所说的,稍后用一些代码进行编辑。

【问题讨论】:

  • 哇。我不知道你在问什么 :) 你能用一些代码和一个(非)工作示例来澄清吗?
  • 使用 jQuery Dialog 关闭回调方法来调用 OnMouseMove 事件。
  • @3rror404 他们想知道如何检测鼠标是否在一个元素上。在这种情况下,不存在 mouse-in 或 mouse-out 事件,因为在用户没有移动鼠标的情况下屏幕上发生了一些事情。
  • 我想我知道你在说什么。本质上,即使鼠标没有移动并且您使用 esc/enter 关闭了 jQuery 对话框,您也希望触发悬停事件?也许这会有所帮助:stackoverflow.com/questions/4925550/…。到目前为止你有什么代码?
  • @Jason 这正是我的问题!很好的链接,和我一样的问题。将尝试在我自己的代码中实现它!谢谢。投反对票,为什么?您不必总是在问题中包含代码。

标签: javascript jquery


【解决方案1】:

我无法验证在对话框启动时鼠标是否悬停在 div 上,因为对话框元素位于所有其他元素之上(整个屏幕已填满)。我所做的是在检查元素是否悬停的关闭事件中添加延迟。因此,验证悬停代码是在 对话框窗口关闭之后执行的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 2019-01-12
    • 2017-09-24
    • 1970-01-01
    • 2023-03-17
    • 2012-05-23
    • 2018-03-04
    相关资源
    最近更新 更多