jquery触发器hover在锚点上
我正在使用jQuery在Web环境中开发。
我想知道为什么
$("#a#trigger").trigger('mouseenter'); $("#a#trigger").trigger('hover'); $("#a#trigger").trigger('mouseover');
所有这3个都不能激活我拥有的hoverfunction。
$(function() { $('a#trigger').hover(function(e) { $('div#pop-up').show(); }, function() { $('div#pop-up').hide(); }); }); });
a#trigger
是锚点的名称, #pop-up
是我网站中的div元素。
问题是我想将鼠标hover在FullCalendar插件中的某些事件上,而这些function无法正常工作。 谢谢。
你是在正确的轨道上,问题是选择器中的额外#
,只需删除第一个哈希:
$("a#trigger").trigger('mouseenter');
请注意,由于ID必须是唯一的,因此无需指定元素类型, $('#trigger')
更有效。
另请注意:
在jQuery 1.8中不推荐使用,在1.9中删除:名称
"hover"
用作字符串"mouseenter mouseleave"
的简写。 它为这两个事件附加单个事件处理程序,并且处理程序必须检查event.type
以确定事件是mouseenter
还是mouseleave
。 不要将"hover"
伪事件名称与.hover()
方法.hover()
,后者接受一个或两个函数。
你的jQuery选择器应该写成例如
$('a#trigger');
而不是$('#a#trigger');
在jQuery中,选择器中的#匹配id。 在这种情况下, trigger
是一个id,但是a
是一个HTML元素,不需要前缀。
你的最终代码是:
$("a#trigger").trigger('mouseenter'); $("a#trigger").trigger('hover'); $("a#trigger").trigger('mouseover');