如何通过jquery以编程方式调用mouseenter事件

Raj*_*Raj 4 javascript jquery jquery-plugins

在我的html结构中,我有一个锚标记元素,附加了hoverIntent插件事件.

     $('a').hoverIntent(function(event){// some code to show popup;})
Run Code Online (Sandbox Code Playgroud)

每当我手动悬停在锚标签上时,它会执行一些ajax调用并从服务中恢复数据并显示弹出窗口.

我想从代码中触发mouseenter/hover/mousemove(任何可以带来弹出窗口的东西)(没有任何手动操作)

我试过基本的jquery函数

   $('selector').trigger('hover') and
   $('selector').trigger('mouseenter')
Run Code Online (Sandbox Code Playgroud)

但没有任何效果,这是否可以在没有用户中断的情况下调用悬停/鼠标中心功能?

las*_*hou 6

hoverIntentjQuery插件同时使用mouseentermousemove事件,以确定是否引发或不.如果您只是触发mouseenter事件,那么就不会发生任何事情.

您需要先调用该mouseenter事件并包含鼠标位置.然后你需要调用mousemove事件,也包括鼠标位置.

这个jsbin显示了这个例子.如果你悬停"悬停我"项目而没有先悬停绿色框,则没有任何反应.你是否将绿色框格式化为红色,之后"悬停我"链接将起作用.要在不首先悬停绿色框的情况下以编程方式触发此操作,请使用以下调用:

var e = $.Event('mouseenter');
e.pageX = 50;
e.pageY = 50;
$("#testing").trigger(e);

var e2 = $.Event('mousemove');
e2.pageX = 50;
e2.pageY = 50;
$("#testing").trigger(e2);