Accueil > Forum > > > > Ajouter une méthode à un objet HTML ...
Ajouter une méthode à un objet HTML ...
mercredi 3 août 2005 à 20:07:52 |
Ajouter une méthode à un objet HTML ...

LocalStone
|
Alors voilà ... J'ai une question assez pointue que je n'arrive pas à résoudre tout seul et c'est pourquoi je demande votre aide ... Comment je peux faire pour ajouter une méthode à un élément HTML. Par exemple : <script> Object.prototype.Test= function () { alert('Test ! '); } </script> Et du coup si je fais par exemple : document.getElementById('n_importe_quoi').Test();, bah j'ai une boite de dialogue qui apparait ... Je sais pas du tout si c'est la bonne voie, mais je pense que l'on peut comprendre ma demande à travers cet exemple. J'avoue que ça m'aiderait beaucoup de trouver ... Snif, alors aidez-moi ! ++ ! LocalStone
|
|
jeudi 4 août 2005 à 09:46:43 |
Re : Ajouter une méthode à un objet HTML ...

bultez
|
Bonjour, je ne sais pas si j'ai bien compris .... un ch'tit exemple pour voir ?
<script type="text/javascript"> function appel(btn) { alert ("après appui sur "+btn+"\r\nclick sur le texte"); } </script> </HEAD> <BODY> <form name="frm"> <input type="text" name="txt" size=10> <button onclick='frm.txt.setAttribute("size",32);'>Modif size</button> <button onclick='frm.txt.setAttribute("onclick",function(){appel("bouton");} ) ;'>ajout Onclick</button> </form> </BODY>
Cordialement. Bul. ~Site~~Mail~
|
|
jeudi 4 août 2005 à 13:46:49 |
Re : Ajouter une méthode à un objet HTML ...

LocalStone
|
Salut Bultez, merci de ton aide. Ta methode pour ajouter une methode (étrange, ça ...) marche très bien. Mais elle fonctionne que avec l'élément que j'ai défini. En fait, moi je voudrais que ça marche pour tous les éléments de la page sans que j'ai à le faire un par un. En fait, voilà un exemple concret : <html> <head> <script type="text/javascript"> var arrYellow = [ ["borderStyle", "solid"], ["borderWidth", "1px"], ["borderColor", "#FFFF00"], ["backgroundColor", "#FFFFEE"], ["color", "#FFFF00"] ]; function ApplyStyle(arrList) { var i; for(i = 0; i < arrList.length; i++) { this.style[arrList[i][0]]= arrList[i][1]; } } onload = function() { frm.bouton.setAttribute("ApplyStyle", ApplyStyle); } </script> </head> <body> <form name="frm"> <button name="bouton" onclick="this.ApplyStyle(arrYellow);">ajout Onclick</button> </form> </body> </html> Je pense que tu saisis le but de la fonction. Mais le truc, c'est que j'aimerais qu'elle fonctionne pour n'importe quel élément HTML. Donc si tu as une idée ... LocalStone
|
|
jeudi 4 août 2005 à 14:58:17 |
Re : Ajouter une méthode à un objet HTML ...

bultez
|
un ch'tit exemple ou on passe l'objet où appliquer en paramètre
<script type="text/javascript"> function mem(obj,att1,att2) { obj.setAttribute(att1,att2); } function appel(btn) { alert ("après appui sur "+btn+"\r\nclick sur le texte"); } </script> </HEAD> <BODY> <form name="frm"> <input type="text" name="txt"> <button onclick="mem(frm.txt,'size',32);">Modif size</button> <button onclick="mem(frm.txt,'onclick',function(){appel('bouton');} ) ;">ajout Onclick</button> </form> </BODY>
normalement tu es assez fort pour appliquer ça à tous les éléments d'un contenant ( body, form .. ) mais si besoin de plus .... Cordialement. Bul. ~Site~~Mail~
|
|
jeudi 4 août 2005 à 15:13:44 |
Re : Ajouter une méthode à un objet HTML ...

LocalStone
|
Oui ! Mais non ... En fait, pour la beauté du code, je veux rajouter la méthode ApplyStyle(); que j'ai définie avant à TOUS les éléments HTML. Bien sur que je peux faire une fonction comme tu m'as dit, mais c'est moins ... Joli ! Par exemlpe : <script> Array.prototype.getLength = function() { return this.length; } </script> Ensuite, quelque soit le tableau que je vais créer, la méthode va être applicable à toutes les instances. <script> test = new Array("le ciel", "les oiseaux", "ta mère"); alert(test.getLength()); // Me renveras 3. </script> Et bah je cherche à créer une méthode pour tous les éléments HTML (tous ce que l'on peut récuperer par getElementById(), getElementsByTagName(), etc.) ... J'espère que je suis assez clair ... Voilà ! T'as vu, c'est pas du gateau ...  LocalStone
|
|
jeudi 4 août 2005 à 15:40:52 |
Re : Ajouter une méthode à un objet HTML ...

bultez
|
tous les elements d'un formulaire c'est ok mais les éléments d'une page ? je ne sais plus [ ou pas ]
for ( n=0;n<frm.elements.length;n++) { sûrement un switch en fonction du type switch (frm.elements[n].type) { case "text": appliquer setattribute à frm.elements[n]; break; case ... default: break; } }
Cordialement. Bul. ~Site~~Mail~
|
|
jeudi 4 août 2005 à 16:40:58 |
Re : Ajouter une méthode à un objet HTML ...

LocalStone
|
J'avais pas pensé à ça ... Mais je sais pas, ça fait bricolage. Mais en même temps, je crois que c'est ce que je vais faire. Le problème, c'est que si je crée un éélment avec createElement(); après que la boucle ait été lancée, alors la methode ne sera pas présente pour ce dernier. Donc en fait, non, ça va pas ... Mais je suis sur qu'il doit y avoir un truc avec prototype ou quelque chose comme ça ... Mais j'ai (un peu) cherché sur MSDN et j'ai rien trouvé. Merci de ton aide ! Parce que t'es le seul à avoir tenter des réponses, jusque là ! LocalStone
|
|
vendredi 5 août 2005 à 03:18:39 |
Re : Ajouter une méthode à un objet HTML ...

GhislainLavoie
|
Réponse acceptée !
Salut!
Je ne crois pas qu'il sot possible d'ajouter une mehode a un objet html sans avoir préalablement ajouter cette methode.
Le prototypage ne fontionne que pour les éléments js qui sont créer avec des nouveaux constructeurs [new QQC(), QQC étant une fonction] ou les objets déjà définit dans js soit : les Array, Boolean, Date, Function, Number, Object et String.
Faire une boucle pour tous les éléments comme propose Bul me semble la méthode la plus appropriée. Et si tu créer des éeélments dynamiquement, il faudra appliquer les méthodes qu'il faut.
Pour réussir a exécuter le prototype Test() de ton exemple, il faudrait par exemple l'appliquer au niveau d'un objet pour lequel il est possible de l'appliquer.
Par exemple sur une string :
document.getElementById('QQC').className.Test();
A+, Ghislain
|
|
vendredi 5 août 2005 à 11:25:36 |
Re : Ajouter une méthode à un objet HTML ...

LocalStone
|
Merci Ghislain, C'est chiant, ça, ça veut dire que le Javascript à des limites, alors ... Merde. ++ LocalStone
|
|
Cette discussion est classée dans : test, ajouter, html, exemple, méthode
Répondre à ce message
Sujets en rapport avec ce message
Taille de caractères [ par Vincentsoft ]
Salut,J'ai remarqué que tous les caractères, dans une page HTML, ne font pas la même largeur (en pixel).Par exemple, si j'écrit sur une ligne 100 cara
Probleme menu javascript dans frame [ par yukhaa ]
Voila j'ai un menu en javascript que j'ai integré dans une frame, seulement quand je clique su un lien ça me met le message suivant"top.site.location
Besoin d'aide pour du HTML svp [ par dreamdavid ]
Bonjour tout le monde, je tiens a feliciter ce forum qui vas beaucoup m'aider, avec tout se qui se trouve sur le site c vraiment genial pour un debuta
javascript dans HTML [ par godelet ]
Bonjour,je n'arrive pas à voir mon alert lors du onClick dans la page html, le code est le suivant :<script type="text/javascript" src="/adsl/inform
Prob de guillemet double [ par pouda ]
Salut les gars...voila mon prob j'introduit des balises dans un textarea pour générer du code html pour inserer les balis
ajouter ce controle (cf photo) a une page web (html, js,..?) [ par junty94 ]
bonjour, Je voulais savoir s'il était possible d'ajouter un controle de ce type sur une page html. (en passant, comment s'appelle ce controle ?)
Editeur WYSIWYG - Ajouter du HTML à l'iframe [ par Tilix ]
Salut, J'ai pris un petit editeur wysiwyg sur internet (Source : http://www.ibilab.net/webdev/exemples/editeur-wysiwyg.htm) Et je voudrais ajouter
Séparer HTML et javascript [ par lowkey ]
Bonjour à tous !!Je suis en train de développer mon site WEB et je souhaite séparer completement le html du js.Dans mon js, je devrais donc avoir quel
Ajouter une propriété à un élément HTML [ par cramyh ]
Bonjour,Dans ma page, j'ai besoin de lier à un élément HTML un objet javascript. Pour cela, j'ai pensé lui ajouter ce dernier en tant que propriété, e
Page html [ par wix93 ]
Bonjour,j'aimerais créer une page html mais j'ai en quelques sortes un obstacle :). Enfete j'aimerais que sur ma page lorsque je clique sur des mots-c
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|