Masalah:
Apabila peranti sentuh melawati tapak web, : tuding gaya CSS pencetus pada klik atau ketik. Ini boleh mengganggu perhatian atau malah menyebabkan elemen interaktif tidak boleh diakses.
Objektif:
Alih keluar atau abaikan semua :tuding perisytiharan CSS untuk peranti sentuh tanpa mengetahui setiap pemilih perisytiharan.
Penyelesaian:
Alih keluar semua peraturan CSS yang mengandungi :hover menggunakan JavaScript.
<code class="javascript">if (hasTouch()) { for (var si in document.styleSheets) { for (var ri = styleSheet.rules.length - 1; ri >= 0; ri--) { if (styleSheet.rules[ri].selectorText.match(':hover')) { styleSheet.deleteRule(ri); } } } }</code>
Kebaikan:
Gunakan sekatan @media untuk mengandungi peraturan :tuding.
<code class="css">@media (hover: hover) { a:hover { color: blue; } }</code>
Kebaikan:
Kesan peristiwa sentuhan menggunakan JavaScript dan tambah kelas CSS secara bersyarat.
<code class="js">if (!hasTouch()) document.body.className += ' hasHover'</code>
<code class="css">body.hasHover a:hover { color: blue; }</code>
Kebaikan:
Dayakan atau lumpuhkan gaya tuding berdasarkan kursor tetikus dan acara sentuh.
<code class="js">function watchForHover() { document.addEventListener('touchstart', updateLastTouchTime, true) document.addEventListener('touchstart', disableHover, true) document.addEventListener('mousemove', enableHover, true) }</code>
Kebaikan:
Atas ialah kandungan terperinci Cara Melumpuhkan Gaya :hover dengan Berkesan pada Peranti Sentuh: Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!