Как заставить состояние зависания с помощью jQuery?
пожалуйста, обратите внимание на этот код CSS:
a { color: #ffcc00; }
a:hover { color: #ccff00; }
это HTML код:
<a href="#" id="link">Link</a>
<button id="btn">Click here</button>
и, наконец, этот код JS:
$("#btn").click(function() {
$("#link").trigger("hover");
});
Я хотел бы, чтобы моя ссылка использовала свой псевдокласс :наведите курсор мыши при нажатии кнопки.
Я попытался вызвать такие события, как mousemove, mouseenter, hover и т. д., Но кто-то работает.
Обратите внимание, что я хочу принудительно использовать спецификацию my CSS pseudo-class :hover и не использовать что-то вроде:
$("#link").css("color", "ccff00");
кто-то знает, как сделать Я делаю это? Большое спасибо.
3 ответов:
вы должны использовать класс, но не волнуйтесь, это довольно просто. Сначала мы назначим ваш
:hoverправила применяются не только к физически зависшим ссылкам, но и к ссылкам с именем классаhovered.a:hover, a.hovered { color: #ccff00; }далее, когда вы нажмете
#btn, мы переключаем.hoveredкласс#link.$("#btn").click(function() { $("#link").toggleClass("hovered"); });если ссылка уже имеет класс, он будет удален. Если у него нет класса, он будет добавлен.
кроме того, вы можете попробовать срабатывания мыши.
$("#btn").click(function() { $("#link").trigger("mouseover"); });Не уверен, что это будет работать для вашего конкретного сценария, но у меня был успех запуска наведения курсора мыши вместо наведения для различных случаев.
Я думаю, что лучшее решение я наткнулся на этот stackoverflow. Этот короткий код jQuery позволяет отображать все ваши эффекты наведения при нажатии или касании..
Нет необходимости добавлять что-либо в функции.$('body').on('touchstart', function() {});надеюсь, что это помогает.
Comments