1

将此代码包装在 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

4

2 回答 2

2

这个怎么样:

var dosomething = function() {
    // perform the stuff here
}

$('#div_ID').hover(dosomething);
$('anchor_ID').click(dosomething);

但是如果你打算使用.trigger,你的问题可能是你#之前忘记包含了div_ID。并更改hovermouseenter(jQuery 中的“悬停”功能只是“mouseenter”的快捷方式——感谢@FabrícioMatté 捕捉到这一点)即:

//change this:
$('div_ID').trigger('hover');
//To this:
$('#div_ID').trigger('mouseenter');

同样可能适用于anchor_ID,但除非您发布您的 HTML,否则我不会知道。

更新:@FabrícioMatté 的另一个建议:当您如上所示调用它时,this内部的关键字可能会有点混乱,所以请注意它。关键字dosomething的工作方式与 using 不同,所以它只是一个提示....this.trigger

于 2012-12-30T02:01:45.630 回答
1

hover不是一个事件,所以你不能trigger.hover()只是附加mouseentermouseleave处理程序的简写。

$("#anchor_ID").click(function() {
    $("#div_ID").trigger('mouseenter');
});

小提琴

请注意,.hover当传递单个参数时,会将函数附加到两者mouseentermouseleave因此您可以触发其中任何一个。如果您打算仅在用户将
鼠标mouseenter移到.hoverdiv

于 2012-12-30T02:07:41.613 回答