移动端 Safari 踩坑记录

  • 移动端 Safari中:hover导致的两次点击问题
    问题描述:在移动端的Safari中,如果使用了:hover会导致两次点击事件的发生,如a标签链接到一个新地址,如果a标签使用了:hover就会造成第一次点击时响应:hover,第二次才响应a标签的跳转。
    解决方案:
1. 监听`ontouchstart`事件
给body添加一个`no-touch`的class,用于限制`:hover`的作用域。当document中存在`ontouchstart`事件时,移除该class。
<body class="no-touch">body>
<script>
if('ontouchstart' in document) {
    document.body.removeAttribute('class')
}
script>
<style>
.no-touch .xx:hover {
    ...
}
style>

你可能感兴趣的:(前端笔记)