En javascript, je cr=E9e des objets, imbriqu=E9s (contenus) les uns dans
les autres. Ces objets g=E9n=E8rent du code HTML, avec des =E9l=E9ments HTM=
L
et du javascript. Pour r=E9agir =E0 des =E9v=E8nements, "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=EAme pas si c'est possible.
Je ne suis pas s=FBr d'=EAtre clair, je le dis autrement. Prenons un des
objets ci-desssus. Cet objet g=E9n=E8re 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=E9thode
javascript de l'objet concern=E9.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
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 ?
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 ?
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
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
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 ?
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
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.
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.
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.
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
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 ???
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
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é.
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
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é.
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é.
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 ...): <http://homepage.mac.com/jorgechamorro/blob.js> <http://homepage.mac.com/jorgechamorro/>
très impressionnant & virtuose… plus simple à réaliser en Flash j'imagine
Une présentation (en pas fr) de Douglas Crockford : <http://www.alonswho.es/advancedJS01.mov> (45Mo) à propos des objets et objets imbriqués ou enfants (new.object) (si j'ai capté le début ?)
Si ça a plu : <http://www.alonswho.es/advancedJS02.mov> <http://www.alonswho.es/advancedJS03.mov>
et pour les "bases" : <http://www.alonswho.es/jspl01.mov"> <http://www.alonswho.es/jspl02.mov"> <http://www.alonswho.es/jspl03.mov"> <http://www.alonswho.es/jspl04.mov">
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 ...):
<http://homepage.mac.com/jorgechamorro/blob.js>
<http://homepage.mac.com/jorgechamorro/>
très impressionnant & virtuose… plus simple à réaliser en Flash j'imagine
Une présentation (en pas fr) de Douglas Crockford :
<http://www.alonswho.es/advancedJS01.mov> (45Mo)
à propos des objets et objets imbriqués ou enfants (new.object)
(si j'ai capté le début ?)
Si ça a plu :
<http://www.alonswho.es/advancedJS02.mov>
<http://www.alonswho.es/advancedJS03.mov>
et pour les "bases" :
<http://www.alonswho.es/jspl01.mov">
<http://www.alonswho.es/jspl02.mov">
<http://www.alonswho.es/jspl03.mov">
<http://www.alonswho.es/jspl04.mov">
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 ...): <http://homepage.mac.com/jorgechamorro/blob.js> <http://homepage.mac.com/jorgechamorro/>
très impressionnant & virtuose… plus simple à réaliser en Flash j'imagine
Une présentation (en pas fr) de Douglas Crockford : <http://www.alonswho.es/advancedJS01.mov> (45Mo) à propos des objets et objets imbriqués ou enfants (new.object) (si j'ai capté le début ?)
Si ça a plu : <http://www.alonswho.es/advancedJS02.mov> <http://www.alonswho.es/advancedJS03.mov>
et pour les "bases" : <http://www.alonswho.es/jspl01.mov"> <http://www.alonswho.es/jspl02.mov"> <http://www.alonswho.es/jspl03.mov"> <http://www.alonswho.es/jspl04.mov">