从另一个 div 添加悬停触发器

Posted

技术标签:

【中文标题】从另一个 div 添加悬停触发器【英文标题】:Adding hover trigger from another div 【发布时间】:2011-02-21 09:50:49 【问题描述】:

我正在尝试从另一个 div 激活 div 的原生悬停效果。我知道我可以在 jQuery 中完成这一切并在其中添加样式,但宁愿将原生 :hover 留在 CSS 中。我只是想知道是否有办法做到这一点:

$("#div1").live("mouseenter", function() 
  $("#div2").trigger("mouseenter");
);

我想通过这样做来调用它,但它不起作用。真的没有办法从另一个元素的事件中触发事件吗?

提前致谢。

【问题讨论】:

【参考方案1】:

我相信是的

$("#div1").live("mouseenter", function() 
  $("#div2").mouseenter();
);

【讨论】:

不走运 :( 我认为该事件需要参数 @jakeprzespo:当jQuery#mouseenter() 不带参数使用时,它是jQuery#trigger('mouseenter') 的别名。 @jakeprzespo:不一定。 哦,好的。会记住这一点。但是仍然没有正确触发。【参考方案2】:

这应该可以吗?

$("#div1").mouseenter(function() 
  $("#div2").mouseenter();
);

【讨论】:

Live 将事件静态绑定到内容,即使内容正在更改 (ajax)【参考方案3】:

已回复here

根据 W3C 的规范,:hover 只能应用伪类 当用户发起操作时。

:hover 伪类适用于 while 用户指定一个元素(使用 一些指针设备),但没有 激活它。例如,一个视觉 用户代理可以应用这个 光标时的伪类(鼠标 指针)悬停在生成的框上 由元素。用户代理不 支持互动媒体不 必须支持这个伪类。

【讨论】:

以上是关于从另一个 div 添加悬停触发器的主要内容,如果未能解决你的问题,请参考以下文章

触发取消悬停?

从另一个小部件触发检查按钮悬停事件

防止在父 Div 上触发 Div 的悬停事件?

Blazor 3.1 嵌套的鼠标悬停事件

防止伪元素触发悬停?

CSS :hover on button 在已经悬停的 div 中不起作用