2011-09-28 24 views
5

Estoy intentando cargar previamente la imagen de evento click:Javascript Imagen Objeto - Manejar proceso de carga

// new image object 
var imgObject = new Image(); 

// assign the path to the image to the src property 
imgObject.src = document.URL + 'image/image.jpg'; 

// check if image has loaded 
if (imgObject.complete) { 

Pero la llamada completa no devuelve verdadero en la primera posición - ni idea de lo que me falta aquí?

Respuesta

10

.complete es una propiedad del objeto de imagen, no es un evento al que se puede conectar. Usar la onload evento:

var image = new Image(); 
image.onload = function() { 
    alert('image loaded'); 
}; 
image.src = document.URL + 'image/image.jpg'; 

Nota: Asegúrese de adjuntar al lanzador proceso de carga antes de establecer el atributo de origen.

Nota Explicación: almacenamiento en caché de imágenes. Si la imagen está almacenada en caché, el evento de carga se activará inmediatamente (a veces antes de configurar el controlador)

+0

bien - No puedo, tiene que estar al hacer clic - y abre la URL tomada del atributo href del etiqueta, a menos que obviamente no haya entendido bien su sugerencia. – user398341

+1

puede estar dentro de su manejador de clics ... –

+0

¿Por qué es importante llamarlo antes de que se establezca la propiedad src? – user398341

Cuestiones relacionadas