Some touch devices trigger the mouseover event on the first touch when something changes visibly. This happens even with simple changes like a new color or removal of an underline. The click-event only fires the second time you touch.
This is easy to solve, if modernizr is included, by adding the class .no-touch
to each :hover
rule.
.no-touch a:hover { color: #06e; }
This code will also kill hover states in environments where JS has not been executed. To solve this you would have to extend the code a bit and add class=no-js
to the head
of the document.
.no-touch a:hover,
.no-js a:hover { color: #06e; }
That's clever... is there any cleaner solution for that, though?