Bagaimanakah Kami Boleh Menghapuskan Kesan Tuding Melekit pada Butang dalam Persekitaran Didayakan Sentuhan?

Patricia Arquette
Lepaskan: 2024-11-24 20:11:44
asal
630 orang telah melayarinya

How Can We Eliminate Sticky Hover Effects on Buttons in Touch-Enabled Environments?

Menghapuskan Kesan Tuding Melekit pada Butang dalam Persekitaran Didayakan Sentuhan

Kelaziman kesan tuding pada butang menimbulkan isu apabila menyentuh peranti. Keadaan tuding, selalunya ditunjukkan oleh perubahan warna, cenderung berterusan walaupun selepas mengetik butang, menghasilkan kesan "melekit". Tingkah laku ini boleh menjadi tidak diingini dan mengganggu pengalaman pengguna.

Untuk menangani isu ini, banyak pendekatan telah dicadangkan dengan tahap kejayaan yang berbeza-beza:

  • Menambah "tidak- hover" pada touchend: Walaupun kaedah ini berkesan menghalang kesan hover selepas mengetik, ia boleh menjejaskan prestasi secara negatif dan gagal mengendalikan peranti dengan kedua-duanya. input skrin sentuh dan tetikus.
  • Menambahkan kelas "sentuhan" pada elemen dokumen: Pendekatan ini juga memberikan cabaran dalam peranti yang menyokong input sentuhan dan tetikus, kerana ia tidak dapat membezakan antara kedua-dua input .

Penyelesaian yang ideal untuk masalah ini ialah mengalih keluar keadaan tuding sejurus selepas menyentuh butang. Malangnya, fungsi ini tidak disokong secara asli oleh penyemak imbas. Percubaan untuk memfokuskan elemen lain atau mengetik elemen lain secara manual tidak menghasilkan hasil yang diingini.

Penyelesaian Sempurna:

Pelaksanaan CSS Media Queries Tahap 4 menyediakan definitif penyelesaian kepada masalah ini. Menggunakan kod berikut:

@media (hover: hover) {
    button:hover {
        background-color: blue;
    }
}
Salin selepas log masuk

penyemak imbas yang menyokong tuding benar (cth., dengan input tetikus) akan menggunakan gaya tuding hanya apabila acara tuding itu tulen.

Untuk penyemak imbas yang tidak menyokong ciri ini, polyfill tersedia yang membolehkan anda meniru tingkah laku. Polyfill ini membolehkan anda menggunakan CSS berikut:

html.my-true-hover button:hover {
    background-color: blue;
}
Salin selepas log masuk

Akhir sekali, menggunakan JavaScript polyfill, anda boleh menogol kehadiran kelas "my-true-hover" secara dinamik berdasarkan sokongan hover peranti. Pendekatan ini secara berkesan mereplikasi gelagat pengesanan tuding sebenar, memberikan penyelesaian yang sempurna kepada isu kesan tuding melekit pada peranti sentuh.

Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Menghapuskan Kesan Tuding Melekit pada Butang dalam Persekitaran Didayakan Sentuhan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan