jquery触发器悬停在锚点上

Ori*_*ael 20 jquery triggers mouseover hover

我正在使用jQuery在Web环境中开发.

我想知道为什么

 $("#a#trigger").trigger('mouseenter');
 $("#a#trigger").trigger('hover');
 $("#a#trigger").trigger('mouseover');
Run Code Online (Sandbox Code Playgroud)

所有这三个都不能激活我拥有的悬停功能.

$(function() {


        $('a#trigger').hover(function(e) {
          $('div#pop-up').show();

             }, function() {
          $('div#pop-up').hide();
        });

     });

      });
Run Code Online (Sandbox Code Playgroud)

a#trigger是锚的名称,#pop-up是我网站中的div元素.

问题是我想在FullCalendar插件中鼠标悬停某些事件,这些功能无法正常工作.谢谢.

und*_*ned 67

你是在正确的轨道上,问题是#选择器中的额外问题,只需删除第一个哈希:

$("a#trigger").trigger('mouseenter');
Run Code Online (Sandbox Code Playgroud)

请注意,由于ID必须是唯一的,因此无需指定元素类型,$('#trigger')效率更高.

另请注意:

在jQuery 1.8中不推荐使用,在1.9中删除:该名称"hover"用作字符串的简写"mouseenter mouseleave".它为这两个事件附加单个事件处理程序,并且处理程序必须检查event.type以确定事件是否为mouseentermouseleave.不要将"hover"伪事件名称与.hover()接受一个或两个函数的方法混淆.

  • 哇我在编程25小时后就像地狱一样盲目,非常感谢你.顺便说一句,它是Mouseenter ..不能正常工作@undefined (5认同)

Jon*_*col 9

你的jQuery选择器应该写成例如

$('a#trigger');
Run Code Online (Sandbox Code Playgroud)

代替 $('#a#trigger');

在jQuery中,选择器中的#匹配id.在这种情况下trigger是一个id,但它a是一个HTML元素,不需要前缀.

你的最终代码是:

$("a#trigger").trigger('mouseenter');
$("a#trigger").trigger('hover');
$("a#trigger").trigger('mouseover');
Run Code Online (Sandbox Code Playgroud)