Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mencetuskan Peristiwa `onload` Imej Walaupun Imej Dicache?

Bagaimana untuk Mencetuskan Peristiwa `onload` Imej Walaupun Imej Dicache?

Susan Sarandon
Susan Sarandonasal
2024-10-25 05:07:02411semak imbas

How to Trigger an Image `onload` Event Even When the Image is Cached?

Peristiwa pemuatan imej dan Caching Penyemak Imbas

Apabila membuat kotak amaran selepas imej dimuatkan, adalah perkara biasa untuk menggunakan acara .onload. Walau bagaimanapun, jika imej sudah dicache dalam penyemak imbas, acara .onload tidak akan dicetuskan. Ini boleh menimbulkan cabaran jika anda ingin mencetuskan makluman untuk semua imej, tanpa mengira status cachenya.

Penyelesaian

Untuk menyelesaikan isu ini, terdapat dua yang terbukti kaedah:

Kaedah 1: Tetapkan Harta onload Sebelum src

Imej yang dijana secara dinamik boleh mencetuskan acara onload dengan betul dengan menetapkan sifat onload sebelum atribut src:

var img = new Image();
img.onload = function () {
  alert("image is loaded");
};
img.src = "img.jpg";

Kaedah 2: Gunakan Acara 'load' jQuery

Dengan jQuery, anda boleh menggunakan acara 'load' untuk memastikan amaran dicetuskan tanpa mengira caching:

var img = new Image();
// 'load' event
$(img).on('load', function() {
  alert("image is loaded");
});
img.src = "img.jpg";

Teknik ini mengendalikan kedua-dua imej cache dan bukan cache dengan berkesan, membolehkan anda memaparkan amaran dengan jayanya dalam semua kes.

Atas ialah kandungan terperinci Bagaimana untuk Mencetuskan Peristiwa `onload` Imej Walaupun Imej Dicache?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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