Как заставить состояние зависания с помощью 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");


кто-то знает, как сделать Я делаю это? Большое спасибо.

388   3  

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

    Ничего не найдено.