Jquery trigger hover на якоре - программирование
Подтвердить что ты не робот

Jquery trigger hover на якоре

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

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

 $("#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, и эти функции не работают. Благодарю.

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

$('a#trigger');

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

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

Ваш последний код:

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