jQuery триггер наведение на якорь

Я, используя jQuery для разработки в среде web.

Я хочу знать, почему

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

все 3 из них не работают, чтобы активировать функцию наведения, что у меня есть.

$(function() {


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

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

     });

      });

a#trigger - это название якоря, и #pop-up является элементом div в моей сети.

проблема в том, что я хочу щелкнуть мышью по некоторому событию в плагине FullCalendar, и эти функции не работают. Спасибо.

2 ответов


вы на правильном пути, проблема заключается в дополнительном # в селекторе просто удалите первый хэш:

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

отметим, что поскольку идентификаторы должны быть уникальными, нет необходимости указывать тип элемента $('#trigger') более эффективно.

Также обратите внимание, что:

устарел в jQuery 1.8, удален в 1.9: имя "hover" используется как стенография для строки "mouseenter mouseleave". Он присоединяет один обработчик событий для этих двух события, и обработчик должен проверить event.type чтобы определить, является ли событие mouseenter или mouseleave. Не путайте "hover" псевдо-событие-имя с .hover() метод, который принимает одну или две функции.


ваш селектор jQuery должен быть записан, например,

$('a#trigger');

вместо $('#a#trigger');

в jQuery # в селекторе соответствует идентификатору. В этом случае trigger - это идентификатор, но a является HTML-элементом и не требует префикса.

ваш окончательный код будет такой:

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