Div inaccessible en JS

nico_73 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   -  
vindicien Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Peut être que vous pourrez m'expliquer pourquoi...

J'ai une fonction dans un classe qui créer une div et d'autres éléments à l'intérieur. Dans cette même méthode je peux inter-agir avec la div créée et ses éléments.

Par contre, dans un souci de factorisation de certaines parties du code, je l'ai mis dans d'autre fonctions (méthodes). Ces autres méthodes, par exemple une qui me permets de récupérer le nœud ou l'utilisateur à cliqué, n'arrivent pas à inter-agir avec les éléments créés par la fonction d'écrite en premier.

J'espère être claire et que vous pourrez m'éclaircir sur ce point ?

merci beaucoup d'avance.

Bien cordialement.
A voir également:

2 réponses

vindicien Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   33
 
je pense qu'un peu de code pourrait vachement aider ;-)

Vind'
0
nico_73 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention  
 
Oui j'ai pas mis le code pensant que ce soit une généralité. Mais je vais faire en sorte de donner un exemple :
wind = {
	id : 0,

	zIndex : 0,

	left : 0,
	
	top : 0,
	
	maxMin : 0,
	
	init : function() {
		$('#window_'+wind.id+' .topWindow').parent('div').draggable({
			start : function(event, ui) {
				wind.zIndex++;
				$(this).css('z-index', wind.zIndex);
			},
		});
	},
	
	newWind : function(left, top) {
		wind.id ++;
		var content = '',
		
		$('body').append(wind.newWindow(content));

		wind.left = left;	
		wind.top = top;
		
		$('#window_'+wind.id).css('left', wind.left);
		$('#window_'+wind.id).css('top', wind.top);
		
		return;
	},
	
	newWindow : function(content) {
		var xhtml = '';

		xhtml += '<div class="window" id="window_'+wind.id+'" style="z-Index: ' + (wind.zIndex + 1) + ';">';
		xhtml += '<div class="topWindow">';
		
		xhtml += '<div class="minimizeButtom_actMan windowButtons">_</div>';
		xhtml += '<div class="maximizeButtom_actMan windowButtons">+</div>';
		xhtml += '<div class="closeButtom_actMan windowButtons">X</div>';
		
		xhtml += '</div>';
		xhtml += '<div class="middleWindow">';
		xhtml += content;		
		xhtml += '</div>';
		xhtml += '<div class="bottomWindow"></div>';
		xhtml += '</div>';
		return xhtml;
	},
};


la méthode newWindow c'est le code html à afficher. Dans un lien, j'appelle la méthode newWind qui crée ma fameuse "div" et la méthode init, me permets de déplacer la div. Tout ca avec jQuery

Le souci dans cette exemple, c'est que la fonction init n'arrive pas accéder à la div. Pourtant, "wind.id" est un attribut accessible dans toutes les fonctions. Un peu comme ne PHP ou on fait référence de cette facon "$this->id".

Voyez vous maintenant ?
;)
0
vindicien Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   33
 
Désolé pour le retard, et aussi désolé de ne pas pouvoir t'aider...
Je ne vois pas ce qui cloche à première vue...
Si j'ai le temps je regarderai ça plus en détail.
Et si entre temps tu trouves le problème la réponse m'intéresse ;-)

Bonne soirée,

Vind'
0