J'ai créé un DIV avec attribut voulait tester si l'intégralité du nœud est supprimé d'un seul sac à dos et de ma surprise Firefox ne pouvait pas supprimer les éléments. p>
En outre, cela fonctionne comme prévu dans tous les grands navigateurs de bureau, à l'exception de Firefox. de a trouvé le problème exact sur bugzilla ici . p> contentéditable = true code> et a annexé des enfants comme
span code> et
A code> avec attributs
contenttitable = faux < / code>. p>
Des indices sur cela ou ce qui pourrait être la solution possible? P>
3 Réponses :
D'accord! trouvé la solution ... c'est assez simple que ce que vous penseriez. J'insère en fait HTML pour des liens, alors en utilisant code> ici. La balise
code> a attribuée définie sur contentihable = false et sa ne pas être supprimée avec un arrière-plan arrière. J'ai donc créé un niveau interne
code> avec contentimé = true pour Firefox et qui a fait l'affaire.
<div contentEditable="true">
<a href="your/url/path" contentEditable="false">
<span contentEditable="true">link here</span>
</a>
</div>
Cela se comporte toujours une sorte d'originale mais mieux que rien :)
J'ai fait face à un mauvais insecte terrible et n'avait plus d'autre choix que de faire une solution basée sur JavaScript élaborée qui écoute les événements KeyPress et si Backspace Kbd> a été enfoncé et que le caret était juste à la décalage du départ. d'un nœud de texte, et le nœud avant qu'il s'agisse d'un nœud d'élément, supprimez tout ce nœud d'élément entier. p> <div contenteditable='true'>
Try deleting theme <mark contenteditable='false'>marked</mark> words on <mark contenteditable='false'>Firefox</mark> ok?
</div>
Cela supprime des éléments avant la div, pas le contenu à l'intérieur.
@TylerLazenby c'est ce que OP a demandé. Toute cette question concerne la résolution du bogue FF où le dernier nœud ne peut pas être supprimé, pas b> le contenu du texte du nœud, vous avez donc dit dans votre commentaire, et je cite OP: ... Tout le nœud entier doit être supprimé avec un seul sac à dos i>
Essayez d'ajouter une fonction "OnKeydown" sur la Div modifiable pour arrêter la propagation des événements (comme suit). Travaillé pour moi: p>
ONKEYDOWN = (E) => {E.StopPropagation (); } code> p>
BugZilla Living (veuillez voter pour les influencer pour le réparer)