使用 jQuery 触发悬停?
Trigger hover with jQuery?
我如何实现这个
$("#a").parent().trigger('hover')
和jQuery?该代码对我不起作用。
无法在 DOM 中强制执行伪造的 "hover" 事件。
如果您只想更改按钮的外观,请改为添加 class。
两个不同的答案取决于你真正问的是什么:
如果您使用 hover
连接了一个处理程序并试图触发它。
The .hover()
method binds handlers for both mouseenter
and mouseleave
events. You can use it to simply apply behavior to an element during the time the mouse is within the element.
因此,如果您想触发 mouseenter
的处理程序,请触发 mouseenter
。如果要触发 mouseleave
的处理程序,请触发 mouseleave
.
但请注意,通常直接调用您的函数比通过触发事件间接调用它更好。
如果您尝试为 "hovered"
的元素触发 CSS
...你不能。相反,定义一个做同样事情的 class,并将 class 添加到元素中。
正如 TJ Crowder 和 Endel 所指出的,这不能直接完成。但是,您可以通过添加 class.
来实现应用悬停样式的 span
的效果
首先,将 CSS 更改为如下所示:
#text:hover, #text.hovered
{
/* Your styles. */
}
这意味着相同的样式将应用于 text
悬停时和 class 悬停时。然后只需添加 class 每当你想要悬停影响时:
$("#a").parent().addClass('hovered');
当您不再需要它时将其删除:
$("#a").parent().removeClass('hovered');
我如何实现这个
$("#a").parent().trigger('hover')
和jQuery?该代码对我不起作用。
无法在 DOM 中强制执行伪造的 "hover" 事件。
如果您只想更改按钮的外观,请改为添加 class。
两个不同的答案取决于你真正问的是什么:
如果您使用 hover
连接了一个处理程序并试图触发它。
The
.hover()
method binds handlers for bothmouseenter
andmouseleave
events. You can use it to simply apply behavior to an element during the time the mouse is within the element.
因此,如果您想触发 mouseenter
的处理程序,请触发 mouseenter
。如果要触发 mouseleave
的处理程序,请触发 mouseleave
.
但请注意,通常直接调用您的函数比通过触发事件间接调用它更好。
如果您尝试为 "hovered"
的元素触发 CSS...你不能。相反,定义一个做同样事情的 class,并将 class 添加到元素中。
正如 TJ Crowder 和 Endel 所指出的,这不能直接完成。但是,您可以通过添加 class.
来实现应用悬停样式的span
的效果
首先,将 CSS 更改为如下所示:
#text:hover, #text.hovered
{
/* Your styles. */
}
这意味着相同的样式将应用于 text
悬停时和 class 悬停时。然后只需添加 class 每当你想要悬停影响时:
$("#a").parent().addClass('hovered');
当您不再需要它时将其删除:
$("#a").parent().removeClass('hovered');