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');