jquery触发器悬停在锚点上

Posted

技术标签:

【中文标题】jquery触发器悬停在锚点上【英文标题】:jquery trigger hover on anchor 【发布时间】:2012-06-19 22:46:04 【问题描述】:

我正在使用 jQuery 在 web 环境中进行开发。

我想知道为什么

 $("#a#trigger").trigger('mouseenter');
 $("#a#trigger").trigger('hover');
 $("#a#trigger").trigger('mouseover');

所有这 3 个都无法激活我拥有的悬停功能。

$(function() 


        $('a#trigger').hover(function(e) 
          $('div#pop-up').show();

             , function() 
          $('div#pop-up').hide();
        );

     );

      );

a#trigger 是锚点的名称,#pop-up 是我网站中的一个 div 元素。

问题是我想将鼠标悬停在 FullCalendar 插件中的某些事件上,而这些功能不起作用。 谢谢。

【问题讨论】:

在选择器的ID前不要使用tagname,效率不如单独使用ID 【参考方案1】:

你在正确的轨道上,问题是选择器中多余的#,只需删除第一个哈希:

$("a#trigger").trigger('mouseenter');

注意,由于ID必须唯一,所以不需要指定元素类型,$('#trigger')效率更高。

还要注意:

在 jQuery 1.8 中已弃用,在 1.9 中删除:名称 "hover" 用作字符串 "mouseenter mouseleave" 的简写。它为这两个事件附加了一个事件处理程序,处理程序必须检查event.type 以确定事件是mouseenter 还是mouseleave。不要将"hover" 伪事件名称与.hover() 方法混淆,后者接受一个或两个函数。

【讨论】:

经过 25 小时的编程,我真是瞎了眼,非常感谢。顺便说一下,它是 Mouseenter..hover 不起作用@undefined 我不知道为什么我以某种方式使用trigger(mouseenter) 失败了,但是通过编写.hover 类并执行addClass('hover') 最终成功。【参考方案2】:

你的 jQuery 选择器应该写成例如

$('a#trigger');

而不是$('#a#trigger');

在 jQuery 中,选择器中的 # 匹配 id。在这种情况下,trigger 是一个 id,但 a 是一个 html 元素,不需要前缀。

您的最终代码是:

$("a#trigger").trigger('mouseenter');
$("a#trigger").trigger('hover');
$("a#trigger").trigger('mouseover');

【讨论】:

以上是关于jquery触发器悬停在锚点上的主要内容,如果未能解决你的问题,请参考以下文章

:在锚点上悬停过渡

bootstrap 4,光标悬停在按钮上时不会改变,但在锚点上会改变

JEST 不会触发模拟函数 Vue js

如何使用hammer.js防止默认触摸

jQuery 不会在禁用按钮上触发悬停事件吗?

jQuery:从另一个元素触发悬停事件