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!