【问题标题】:Trigger css hover with JS [duplicate]用JS触发CSS悬停[重复]
【发布时间】:2011-05-19 19:51:39
【问题描述】:

我会知道是否有可能以某种方式用 JS 触发 CSS HOVER 效果,而不必使用额外的类...

这是我想做的一个例子: http://jsfiddle.net/pXbMZ/2/

我尝试使用mouseenter() 触发效果,但这不会触发 CSS 悬停效果。

PS:我制作了一个帮助用户使用在线 CMS 的功能。帮助功能通过移动显示如何使用内容的图像来向您展示如何做事。虚拟光标可以点击东西,显示元素等。但我希望这个虚拟光标也能触发 CSS 中设置的 :hover 效果。

【问题讨论】:

  • 我小时候也喜欢小熊维尼... :)
  • 仍然喜欢小熊维尼。最初的 A A Milne 的东西,也就是说,不是迪斯尼那种可怕的混蛋。
  • 对于那些不明白这个笑话的人来说,跳跳虎是小熊维尼中老虎的名字。
  • 这个概念对我来说真的没有意义。您正在尝试触发无效的状态。如果页面加载并且用户的鼠标没有悬停在 div 上,那么如何以编程方式设置它。这两种状态是矛盾的。
  • 我想用它来模拟用户交互。我做了一个向用户展示该做什么的功能。为此,我有一个 mouscursor 作为 img 在页面上移动,当它悬停链接时,我希望触发 CSS 悬停效果。

标签: javascript jquery


【解决方案1】:

我知道你想要做什么,但为什么不简单地这样做:

$('div').addClass('hover');

这个类已经在你的 CSS 中定义了...

至于你原来的问题,这已经被问过了,不幸的是这是不可能的。 例如http://forum.jquery.com/topic/jquery-triggering-css-pseudo-selectors-like-hover

但是,如果您的样式表是在 Javascript 中定义的,则您想要的功能可能是可能的。看: http://www.4pmp.com/2009/11/dynamic-css-pseudo-class-styles-with-jquery/

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    你不能。这不是trusted event

    由用户代理生成的事件,无论是作为用户交互的结果,还是作为对 DOM 更改的直接结果,都受到用户代理的信任,其权限是脚本通过DocumentEvent.createEvent("Event") 方法,使用 Event.initEvent() 方法修改,或通过 EventTarget.dispatchEvent() 方法调度。可信事件的 isTrusted 属性值为 true,而非可信事件的 isTrusted 属性值为 false。

    大多数不受信任的事件不应触发默认操作,点击或 DOMActivate 事件除外。

    您必须手动添加一个类并在 mouseover/mouseout 事件中添加/删除它。


    旁注,在我将this 标记为重复后,我在这里回答这个问题,因为这里没有答案真正涵盖了我所看到的问题。希望有一天它会被合并。

    【讨论】:

      【解决方案3】:

      我不认为你的要求是可能的。

      见:Hover Item with JQuery

      据我所知,基本上,添加一个类是完成此任务的唯一方法。

      【讨论】:

      • 谢谢你,这实际上是第一个帮助我的问题的遮阳篷或评论。
      【解决方案4】:

      如果您将事件绑定到 Jquery 中的 onmouseover 和 onmouseout 事件,则可以使用 mouseenter() 触发该效果。

      你想完成什么?

      【讨论】:

      • 我已经编辑了我的帖子。我不想触发 JS mouseenter 事件我想触发 CSS:hover
      猜你喜欢
      • 2013-03-23
      • 1970-01-01
      • 2020-08-27
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多