Я пробовал весь день, чтобы сделать это JSFiddle тоже для мобильных телефонов, но все мои попытки не повлияли. На рабочем столе, когда пользователь наводится над стрелкой, он становится красным. На мобильном телефоне, когда пользователь прикасается (чтобы щелкнуть его) стрелкой, эффект зависания активируется и сохраняется там навсегда, пока не произойдет другой (случайный) щелчок в любом месте сайта. Как выйти из этого кошмара?Эффект остаточного наведения на мобильный
HTML:
<nav class="nav-fillpath">
<a class="next" onClick="load('prev')">
<span class="icon-wrap"></span>
<h3><strong>Alexis</strong> Tsipras</h3>
</a>
</nav>
CSS:
.nav-fillpath a.next:hover::after,
.nav-fillpath a.next:hover .icon-wrap::after {
-webkit-transform: translateX(-50%) rotate(55deg);
transform: translateX(-50%) rotate(55deg);
background-color: red;
}
Некоторые хорошие смежные вопросы:
- How to simulate hover effect on touch devices?
- Hover effect stays after touch in jQueryMobile
- How to trigger a click on a link using jQuery
EDIT_0:
После проверки этого How to prevent sticky hover effects for buttons on touch devices, если я использую это:
ontouchend="this.onclick=fix
моя ссылка в настоящее время ничего не делает. Если я использую =fix()
, я получаю сообщение об ошибке:
Uncaught TypeError: Cannot read property 'removeChild' of undefined
EDIT_1:
Я попробовал то, что предложил Shikkediel в этом fiddle, однако, у меня не было никакой удачи. Вот новый HTML:
<a class="next" onClick="load('prev')" ontouchend="fix()">
См этот вопрос - http://stackoverflow.com/questions/17233804/how-to-prevent-sticky-hover-effects-for-buttons -на сенсорные устройства – Sree
Интересный подход @sri. Однако, выполнив именно то, что говорит ответ, я получаю: 'Uncaught TypeError: не могу прочитать свойство removeChild 'undefined' – gsamaras
Если вы скажете, что любой щелчок сбросит состояние зависания, я подозреваю, что это вызвано новым' touchstart' , Так почему бы не попробовать 'function fix() {$ (window) .trigger ('touchstart')}'. Или связанное событие/другой элемент ... – Shikkediel