11548 sujets

JavaScript, DOM et API Web HTML5

Hey guys,

J'ai un petit souci à faire fonctionner addEventListener avec un tout petit script qui suit :


var box = document.getElementById('box');
	
	// Apparence
	box.style.backgroundColor = "red";
	box.style.width = "100px";
	box.style.height = "100px";
	box.style.position = "absolute";
	
	// Une valeur ajoutée à l'objet
	box.valeur = "Oh yeah !";
	
	// Simple fonction qui affiche cette valeur
	box.move = function(){
		alert(this.valeur);
	}
	
	// On lance la fonction au clic de souris
	document.onmouseup = function() {
		box.move();
	}


En fait dans la partie :
	// On lance la fonction au clic de souris
	document.onmouseup = function() {
		box.move();
	}

Je voulais au départ utiliser :

	// On lance la fonction au clic de souris
	document.addEventListener('onmouseup', box.move, false);

Mais ça ne fonctionne point. Quelqu'un a une idée comment faire fonctionner addEventListener avec une fonction qui n'est pas globale ?

Merci !
Modifié par Gabor (17 May 2009 - 23:00)
Salut Gabor,

a écrit :
document.addEventListener('onmouseup', box.move, false);
Avec addEventListener, on utilise le nom de l'événement tel quel, sans le "on". Dans ton cas c'est donc simplement "mouseup".
marcv a écrit :
Salut Gabor,

document.addEventListener('onmouseup', box.move, false);
Avec addEventListener, on utilise le nom de l'événement tel quel, sans le "on". Dans ton cas c'est donc simplement "mouseup".

Arf, aussi simple que ça ! Un grand merci marcv Smiley smile