luckys333
Messages postés3Date d'inscriptionvendredi 21 novembre 2008StatutMembreDernière intervention28 septembre 2009
-
26 sept. 2009 à 10:41
luckys333
Messages postés3Date d'inscriptionvendredi 21 novembre 2008StatutMembreDernière intervention28 septembre 2009
-
28 sept. 2009 à 17:11
Bonjour à tous,
Je développe actuellement un editeur wysiwyg perso et je rencontre un problème avec les événements OnKeyPress et OnKeyUp.
Sur onClick, je capture, sans problème, l'objet Node sur lequel j'ai cliqué (à l'interieur de mon div conteneur).
Je souhaite faire de même avec OnKeyPress et OnKeyUp mais il semblerait que IE utilise l'évènement pour gérer la frappe des touches et il ne me renvoie que l'objet div (mon conteneur).
Comment, d'après vous, je pourrais faire pour intercepter ces événements ?
J'ai même essayer, en parcourant tous les n'uds de l'arbre, d'attacher l'événement à chaque balise mais le résultat est toujours le même.
luckys333
Messages postés3Date d'inscriptionvendredi 21 novembre 2008StatutMembreDernière intervention28 septembre 2009 28 sept. 2009 à 17:11
Bonjour,
J'ai enfin trouvé !!! si cela peux servir à quelqu'un, j'obtiens l'objet en cours d'édition par :
var element = document.selection.createRange().parentElement();
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 26 sept. 2009 à 11:39
Bonjour,
navré, pas compris votre souci !
ce genre d'évènement réagit de la même
manière avec FF, IE et les autres
n'est-ce pas un souci de propagation ?
tout évènement sur un objet est aussi
déclenché sur leS parentS
peut-être ne faites-vous pas le
nécessaire pour l'empêcher avec IE ?
( différent de FF pour le coup )
div contenteditable ? je pensais que
c'était exclusif IE ça ? ça ne l'est plus ?
dans mon wysiwyg qu'il est à moi, j'utilise
un iframe exemple ici
luckys333
Messages postés3Date d'inscriptionvendredi 21 novembre 2008StatutMembreDernière intervention28 septembre 2009 26 sept. 2009 à 16:18
Merci pour ta réponse.
Congratulation pour ton wysiwyg, c'est un très joli travail (résultat++) avec un code bien structuré. Malgré toutes mes recherches de ces dernières semaines, je ne suis jamais tombé sur ton éditeur. Et pourtant j'ai toujours trouvé ce que je chercher sur le Net.
L'attribut contentEdiable est reconnu aussi sous FF malgré tout ce que j'ai pus lire sur le Net, chez moi cela marche? Et FF offre la possibilité de redimensionné tableaux, cellules et ++. Ma version : (Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.14) Gecko/2009082707 Firefox/3.0.14) . Mais je n'en demandai pas tant.
Pour mon problème, je vais essayer d'être plus clair?
J'ai en bas de mon éditeur, un volet, qui d'une manière contextuelle affiche les attributs de l'élément en cours d'édition. Un peux comme dans DreamWeaver?
Sur OnClick, je récupère l'objet Node et ensuite je peux travailler sur cette base. J'affiche mon formulaire d'édition correspondant a la balise en cours avec tous les attributs possible y compris les classes de style prédéfinis ou utilisateurs etc?
Mais sur OnKeyPress et OnKeyUp, le seul objet Node que je récupere, c'est mon div (Conteneur de mon wysiwyg). J'ai même essayer de stopper la propagation de l'évènement par :
var ev = ev || window.event;
var element = ev.target || ev.srcElement;
if (ev.stopPropagation){event.stopPropagation();}
event.cancelBubble = true;
Effectivement la propagation est stoppée puisque le caractère n'est pas affiché dans mon éditeur? Mais (element), me retourne toujours mon div (Conteneur de mon wysiwyg).