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触发器悬停在锚点上的主要内容,如果未能解决你的问题,请参考以下文章