Mensimulasikan Tetikus dalam JavaScript: Menjelaskan Percanggahan dan Melaksanakan Kawalan Manual
Semasa cuba mensimulasikan peristiwa alih tetikus dalam Chrome, anda mungkin telah menghadapi satu perkara yang menarik. isu. Walaupun fakta bahawa pendengar acara "mouseover" berjaya diaktifkan, pengisytiharan "hover" CSS yang sepadan tidak berkuat kuasa. Selain itu, percubaan untuk mengubah suai senarai kelas elemen menggunakan classList.add("hover") dalam pendengar alih tetikus juga gagal mencetuskan perubahan CSS yang diingini.
Kuncinya terletak pada memahami perbezaan antara acara yang dipercayai dan tidak dipercayai. Menurut protokol keselamatan penyemak imbas, peristiwa tertentu yang berasal daripada interaksi pengguna atau pengubahsuaian DOM dianggap dipercayai, manakala peristiwa yang dimulakan oleh JavaScript diklasifikasikan sebagai tidak dipercayai. Acara tuding jatuh ke dalam kategori yang terakhir.
Disebabkan sifatnya yang tidak dipercayai, acara tuding tidak boleh mencetuskan tindakan CSS yang telah ditetapkan secara langsung. Ini ialah langkah perlindungan yang bertujuan untuk menghalang skrip berniat jahat daripada mengubah suai aspek kritikal tingkah laku halaman.
Oleh itu, untuk mencapai kesan lekukan yang diingini dengan JavaScript, pendekatan alternatif diperlukan. Daripada bergantung pada acara tuding asli, anda boleh menambah dan mengalih keluar kelas tersuai secara manual (cth., "tuding") apabila peristiwa alih tetikus dan keluar tetikus berlaku. Ini akan membolehkan anda mengawal sendiri perubahan CSS yang dikaitkan dengan keadaan "legar".
Atas ialah kandungan terperinci Mengapa Tindakan Tetikus Simulasi Mencetuskan CSS Berlegar dalam Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!