uzahnd: contenteditable im FF nur bedingt editierbar

Hi

wenn ich im FF (benutze 3.6.12/Ubuntu) sämtliche ChildNodes eines editierbaren Spans auswähle, lassen die sich nicht editieren. Das geht nur, wenn ich eins weniger als alle auswähle; das letzte KindElement (also normalerweise der letzte Buchstabe) lässt sich zudem nur mit Backspace, nicht aber mit Delete löschen.
In Chromium geht das problemlos. Ist dieses FF-Verhalten gewollt oder ein Bug?

Minimalbeispiel:

  
<html>  
  <head>  
    <title>Ed-Test</title>  
  </head>  
  <body>  
    <p>  
      <span id="editor" contenteditable="true">  
        blabla  
      </span>  
    </p>  
    <script type="text/javascript">  
      var elm = document.getElementById('editor');  
      var sel = window.getSelection();  
      var ran = document.createRange();  
    /* Variante eins via Range-Objekt */  
      ran.selectNodeContents(elm);  
      sel.removeAllRanges();  
      sel.addRange(ran);  
    /* Variante zwei via selectionRange-Objekt  
      sel.selectAllChildren(elm); */  
      elm.focus();  
    </script>  
  </body>  
</html>  

Als Workaround besteht die Möglichkeit, statt des spans ein div zu nehmen und den per css inline darstellen zu lassen. Die span-Version fänd ich allerdings 'sauberer'...

danke für jegliche Anregung,
gruss u

  1. Hi,

    das letzte KindElement (also normalerweise der letzte Buchstabe)

    Hm. Hast Du den letzten Buchstaben einzeln in ein Element eingepackt?
    Weil normalerweise zusammenhängende Texte als ein TextNode *) betrachtet werden, nicht einzelne Buchstaben. lastChild ist also eher nicht der letzte Buchstabe.

    *) bei sehr langen Texten werden ggf. mehrere TextNodes draus gemacht.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.