Mengesan Peristiwa Zum Penyemak Imbas dalam JavaScript
JavaScript tidak mempunyai kaedah langsung untuk mengesan perubahan zum penyemak imbas, menjadikannya mencabar untuk bertindak balas terhadap acara tersebut. Walau bagaimanapun, terdapat penyelesaian yang menggunakan teknik tidak langsung.
Satu pendekatan melibatkan mengeksploitasi gelagat nilai berasaskan peratusan semasa zum. Memandangkan nilai peratusan kekal konsisten tanpa mengira tahap zum, anda boleh membandingkan kedudukan elemen yang ditakrifkan dalam peratusan dan piksel. Jika kedudukan menyimpang, ia menunjukkan perubahan zum. Teknik ini boleh dilaksanakan seperti yang ditunjukkan dalam kod berikut:
// Define elements with percentage and pixel positions const percentageElement = document.getElementById("percentage"); const pixelElement = document.getElementById("pixel"); // Calculate their position ratio const initRatio = percentageElement.offsetWidth / pixelElement.offsetWidth; // Event Listener for window resize (includes zoom) window.addEventListener("resize", (event) => { // Calculate the new ratio const newRatio = percentageElement.offsetWidth / pixelElement.offsetWidth; // Check for zoom change if ratio has changed if (newRatio !== initRatio) { // Perform desired actions upon zoom change } });
Sebagai alternatif, anda boleh menggunakan kaedah yang dibincangkan dalam catatan Stack Overflow yang dirujuk dalam respons:
Adalah penting untuk ambil perhatian bahawa teknik ini mungkin mempunyai kebolehpercayaan yang berbeza-beza di seluruh pelayar yang berbeza. Selain itu, tidak mungkin untuk mengesan perubahan zum yang berlaku sebelum halaman dimuatkan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengesan perubahan zum penyemak imbas dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!