jquery trigger hover on anchor

会有一股神秘感。 提交于 2019-11-27 06:35:59

问题


I'm using jQuery to develop in web environment.

I want to know why

 $("#a#trigger").trigger('mouseenter');
 $("#a#trigger").trigger('hover');
 $("#a#trigger").trigger('mouseover');

All 3 of those aren't working to activate a hover function that I have.

$(function() {


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

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

     });

      });

a#trigger is the name of the anchor, and #pop-up is a div element in my web.

The problem is that I want to mouse over some event in FullCalendar plugin and those functions aren't working. Thanks.


回答1:


You are on the right track, the problem is the extra # in the selector, just remove the first hash:

$("a#trigger").trigger('mouseenter');

Note that since IDs must be unique, there is no need to specify the element type, $('#trigger') is more efficient.

Also note that:

Deprecated in jQuery 1.8, removed in 1.9: The name "hover" used as a shorthand for the string "mouseenter mouseleave". It attaches a single event handler for those two events, and the handler must examine event.type to determine whether the event is mouseenter or mouseleave. Do not confuse the "hover" pseudo-event-name with the .hover() method, which accepts one or two functions.




回答2:


Your jQuery selector should be written as e.g.

$('a#trigger');

instead of $('#a#trigger');

In jQuery a # in a selector matches an id. In this case trigger is an id, but a is an HTML element and requires no prefix.

Your final code would be:

$("a#trigger").trigger('mouseenter');
$("a#trigger").trigger('hover');
$("a#trigger").trigger('mouseover');


来源:https://stackoverflow.com/questions/11074815/jquery-trigger-hover-on-anchor

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!