将此代码包含在HOVER事件中......
$("#div_ID").hover(function() {
// perform stuff here...
}
);
当我使用ONCLICK事件点击链接时,我想触发上述内容......
$("anchor_ID").click (function() {
$("div_ID").trigger('hover'); // Not sure if this is even correct
}
);
虽然不行。我怎么能做到这一点?它甚至可能吗? 仅在FF v16,IE8和GC v23上使用JQuery
答案 0 :(得分:2)
这个怎么样:
var dosomething = function() {
// perform the stuff here
}
$('#div_ID').hover(dosomething);
$('anchor_ID').click(dosomething);
但如果您开始使用.trigger
,则问题可能是您忘记在#
之前加入div_ID
。并将hover
更改为mouseenter
(jQuery中的“悬停”功能只是“mouseenter”的快捷方式 - 归功于@FabrícioMatté以获取该功能)即:
//change this:
$('div_ID').trigger('hover');
//To this:
$('#div_ID').trigger('mouseenter');
同样适用于anchor_ID
,但除非您发布HTML,否则我不会知道。
更新:来自@FabrícioMatté的另一个建议:this
内的dosomething
关键字在您如上所示调用它时可能会有点混乱,所以请注意它。 this
关键字与使用.trigger
的工作方式不同,所以它只是一个抬头....
答案 1 :(得分:1)
hover
不是一个事件,所以你不能trigger
它。 .hover()
只是附加mouseenter
和mouseleave
处理程序的简写。
$("#anchor_ID").click(function() {
$("#div_ID").trigger('mouseenter');
});
请注意,.hover
传递单个参数时,会将该函数附加到mouseenter
和mouseleave
,以便您可以触发其中任何一个。
如果您打算仅在用户将鼠标移到hover
上方时才执行处理程序,我建议您使用mouseenter
而不是div
附加处理程序。