Interaction objet javascript et javascript

Le
Zaza
Bonjour,

En javascript, je crée des objets, imbriqués (contenus) les uns dans
les autres. Ces objets génèrent du code HTML, avec des éléments HTM=
L
et du javascript. Pour réagir à des évènements, "onclick" par exemp=
le,
j'ai besoin d'appeler des fonctions sur tel ou tel objet, mais je ne
vois pas comment faire, je ne sais même pas si c'est possible.

Je ne suis pas sûr d'être clair, je le dis autrement. Prenons un des
objets ci-desssus. Cet objet génère le code HTML lui correspondant,
avec par exemple des infos sous forme de texte, et un bouton.
J'aimerai, lors d'un clic sur ce bouton, appeler une méthode
javascript de l'objet concerné.

Est-ce possible et si oui comment ?

Merci

Xavier
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #11163131
Le 01/07/2008 16:42, Zaza a écrit :

En javascript, je crée des objets, imbriqués (contenus) les uns dans
les autres. Ces objets génèrent du code HTML, avec des éléments HTML
et du javascript. Pour réagir à des évènements, "onclick" par exemple,
j'ai besoin d'appeler des fonctions sur tel ou tel objet, mais je ne
vois pas comment faire, je ne sais même pas si c'est possible.

Je ne suis pas sûr d'être clair, je le dis autrement. Prenons un des
objets ci-desssus. Cet objet génère le code HTML lui correspondant,
avec par exemple des infos sous forme de texte, et un bouton.
J'aimerai, lors d'un clic sur ce bouton, appeler une méthode
javascript de l'objet concerné.

Est-ce possible et si oui comment ?



C'est certainement possible, mais tout dépend comment tu crées tes
éléments HTML. Si c'est à base de document.write ou de innerHTML, ça a
toutes les chances d'échouer. Alors qu'avec appendChild ou cloneNode ça
pourrait mieux fonctionner.

Tu as un début de code pour qu'on voie ce que tu as en tête ?
Zaza
Le #11163121
Salut Olivier,

Merci pour cette réponse rapide !

C'est certainement possible, mais tout dépend comment tu crées tes
éléments HTML. Si c'est à base de document.write ou de innerHTML, ça a
toutes les chances d'échouer. Alors qu'avec appendChild ou cloneNode ç a
pourrait mieux fonctionner.



Effectivement, pour le moment, je fais du document.write ou du
innerHTML. Mais avec ta remarque (appendChild ...), j'imagine que la
solution n'est pas du côté de la génération du code HTML, mais dans
une manipulation direct (en mémoire en quelque sorte) des éléments du
document HTML.

Tu as un début de code pour qu'on voie ce que tu as en tête ?



Malheureusement non, c'est à l'état de prototype d'essais et
recherche, très imbriqués dans pas mal d'autres choses.
De ton côté, aurais-tu un exemple relatif à appendChild ou cloneNode ?

Merci

Xavier
Mickaël Wolff
Le #11163261
Zaza a écrit :
Tu as un début de code pour qu'on voie ce que tu as en tête ?



Malheureusement non, c'est à l'état de prototype d'essais et
recherche, très imbriqués dans pas mal d'autres choses.
De ton côté, aurais-tu un exemple relatif à appendChild ou cloneNode ?



Ces derniers jours, il y a quelques codes qui utilisaient le DOM pour
manipuler le document HTML. Sinon, ton moteur de recherche préféré te
trouveras pas mal de ressources.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
matt
Le #11166151
Zaza a écrit :
Bonjour,

En javascript, je crée des objets, imbriqués (contenus) les uns dans
les autres. Ces objets génèrent du code HTML, avec des éléments HTML
et du javascript. Pour réagir à des évènements, "onclick" par exemple,
j'ai besoin d'appeler des fonctions sur tel ou tel objet, mais je ne
vois pas comment faire, je ne sais même pas si c'est possible.

Je ne suis pas sûr d'être clair, je le dis autrement. Prenons un des
objets ci-desssus. Cet objet génère le code HTML lui correspondant,
avec par exemple des infos sous forme de texte, et un bouton.
J'aimerai, lors d'un clic sur ce bouton, appeler une méthode
javascript de l'objet concerné.

Est-ce possible et si oui comment ?

Merci

Xavier



Bonsoir,

J'ai le même soucis. Exemple :

// Mon objet
function MyObject()
{
this.createBouton = function()
{
html = "<button type='button'
onclick='myObject.myAction'>Action</button>";
document.getElementById("myId").innerHTML = html;
}

this.myAction = function()
{
alert("ok");
}
}

var myObject = new MyObject();

Dans le onClick de mon bouton, je fais référence a l'instance de l'objet
(myObect). Mais si l'objet est recrée ailleurs avec un autre nom, alors
mes appels de fonctions sont vaines...
Une solution ???

Merci,

Matt
Mickaël Wolff
Le #11166401
matt a écrit :

Une solution ???



Tu peux gérer les instances via une usine (factory pattern), qui prend
pour référence l'identifiant ou le chemin du nœud visé.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Franç
Le #11174361
Bonjour,

j'ai eu le même type de questionnement avec des objets d'animation. Pas
trouvé de réponse ! comment une instance d'objet peut-elle se référer à
elle-même ?

Comme ces objets manipulent des éléments HTML repérés par des id, j'ai
contourné la question en donnant à la variable javascript référençant
l'objet le même nom que l'id de l'élément HTML à manipuler, et en
transmettant ce nom à l'objet (ahhh que c'est simple !) par ex :

var ceci = new TelObjetDAnimation ("ceci", suite des paramètres)

Mais se passer d'une telle manip aurait été bien élégant !

J'en profite pour vous donner l'adresse de mon site, où vous pourrez
voir ces objets en pleine action et les télécharger si besoin avec
fichiers d'exemple :

http://francois-delegue.fr

En somme, pas vraiment de réponse à la question…

J'en profite aussi pour demander à Mickaël :

Tu peux gérer les instances via une usine (factory pattern), qui prend
pour référence l'identifiant ou le chemin du nœud visé.




… ce qu'il veut dire en langage pas trop spécialisé, puisqu'il existe
une usine modèle semble-t-il…

François





Zaza a écrit :
Bonjour,

En javascript, je crée des objets, imbriqués (contenus) les uns dans
les autres. Ces objets génèrent du code HTML, avec des éléments HTML
et du javascript. Pour réagir à des évènements, "onclick" par exemple,
j'ai besoin d'appeler des fonctions sur tel ou tel objet, mais je ne
vois pas comment faire, je ne sais même pas si c'est possible.

Je ne suis pas sûr d'être clair, je le dis autrement. Prenons un des
objets ci-desssus. Cet objet génère le code HTML lui correspondant,
avec par exemple des infos sous forme de texte, et un bouton.
J'aimerai, lors d'un clic sur ce bouton, appeler une méthode
javascript de l'objet concerné.

Est-ce possible et si oui comment ?

Merci

Xavier


Franç
Le #11182831
SAM a écrit :

regardé le truc de "rotation" d'images
(un peu déçu : ça ne retourne pas l'image)



trop compliqué à faire, pour moi qui suis flemmard et non matheux,
bientôt plus la peine avec l'élément <canvas> de HTML 5…


Voici un 'truc' pas coton (881 lignes dont 30 new ...):



très impressionnant & virtuose… plus simple à réaliser en Flash j'imagine


Une présentation (en pas fr) de Douglas Crockford :
à propos des objets et objets imbriqués ou enfants (new.object)
(si j'ai capté le début ?)

Si ça a plu :

et pour les "bases" :




Publicité
Poster une réponse
Anonyme