Unlöschbare Elemente in contenteditable=true?
tjorben
- html
Hallo zusammen,
Ich versuche eine Art Editor mit HTML zu gestalten. Um ersteinmal die Editorfunktionalität zu bekommen arbeite ich einfach mit dem Attribut contenteditable. Nun gibt es aber auch Bereiche im Editor die nicht editierbar sein dürfen und vor allem auch nicht gelöscht werden dürfen. Allerdings muss es möglich sein Text über diese Elemente hinweg selektiren zu können.
Auf folgende Weise
<div contenteditable="true">
editierbar
<div contenteditable="false">---nicht editierbar, nicht löschbar, über mich hinweggehend selektierbar---</div>
editierbar
<div contenteditable="false">---nicht editierbar, nicht löschbar, über mich hinweggehend selektierbar---</div>
editierbar
</div>
sind die Bereiche zwar nicht editierbar und man kann über sie hinweg selektieren, mit "Entf" aber auch ohne weiteres löschbar
Auf folgende Weise
<div>
<div contenteditable="true">editierbar</div>
<div contenteditable="false">---nicht editierbar, nicht löschbar, über mich hinweggehend selektierbar---</div>
<div contenteditable="true">editierbar</div>
<div contenteditable="false">---nicht editierbar, nicht löschbar, über mich hinweggehend selektierbar---</div>
<div contenteditable="true">editierbar</div>
</div>
Sind die entsprechenden Bereiche nicht zu löschen, man kann jedoch nicht über sie hinweg selektiren.
Ich bräuchte nun eine möglichkeit um beides sicherzustellen. Ist das irgendwie möglich?
Om nah hoo pez nyeetz, tjorben!
Ich bräuchte nun eine möglichkeit um beides sicherzustellen. Ist das irgendwie möglich?
Positionierung.
Matthias
Wie genau soll das denn mit Positionierung gehen?
Om nah hoo pez nyeetz, tjorben!
Wie genau soll das denn mit Positionierung gehen?
Zunächst einmal wollte ich nicht "Positionierung." sondern "Positionierung?" schreiben weil es nur eine Idee ist:
Du kannst mithilfe von CSS die Reihenfolge der Darstellung unabhängig von der Reihenfolge im Quelltext gestalten. Meine Idee <del>ist</del>war:
statt
<div>
<div contenteditable="true">editierbar</div>
<div contenteditable="false">---nicht editierbar, nicht löschbar, über mich hinweggehend selektierbar---</div>
<div contenteditable="true">editierbar</div>
<div contenteditable="false">---nicht editierbar, nicht löschbar, über mich hinweggehend selektierbar---</div>
<div contenteditable="true">editierbar</div>
</div>
dies zu schreiben:
<div>
<div contenteditable="true">editierbar</div>
<div contenteditable="true">editierbar</div>
<div contenteditable="true">editierbar</div>
<div contenteditable="false">---nicht editierbar, nicht löschbar, über mich hinweggehend selektierbar---</div>
<div contenteditable="false">---nicht editierbar, nicht löschbar, über mich hinweggehend selektierbar---</div>
</div>
und die gewünschte Reihenfolge mit CSS zu erreichen. Möglicherweise stellt sich dein gewünschtes Verhalten ein.
Aber gerade mal im Firefox probiert: Es kommt darauf an, wo du beginnst zu selektieren. Wenn du in einem edierbaren Element beginnst, kannst du nicht über die Grenzen des Elementes hinweg selektieren. Beginnst du mit einem nichtedierbaren, dann kannst du alle Elemente erreichen.
Damit ist mein Vorschlag als nicht funktionierend entlarvt.
Das mit deinem beschriebenen löschbar (deine erste Variante) ist auch logisch, denn schließlich heißt das Attribut _content_editable und wenn zu diesem Inhalt ein Element gehört, dessen Inhalt man nicht edieren können soll, kann man aber das Element selbst edieren, also löschen.
Warum verwendest du für solche Sachen keine Formulare? Editor mit HTML klingt abenteuerlich. Was soll es eigentlich mal werden?
Matthias
Warum verwendest du für solche Sachen keine Formulare? Editor mit HTML klingt abenteuerlich. Was soll es eigentlich mal werden?
Matthias
Es soll eine art Markup-Editor werden. Also durch die Selektion von Text kann amn diesen auszeichnen. Die auszeichnung wird durch einen benannten Bereich davor und danach verdeutlicht werden. Das ganze soll so eine Art intuitives XML darstellen, wobei der erste nicht editierbare Bereich dem Starttag, der zweite dem Endtag entsprechen soll. Nun muss jedoch sichergestellt werden dass man nicht das Starttag löscht und das Endtag noch da ist.
Noch Ideen dazu?
Lieber tjorben,
ich halte die gesamte non-editable-Idee für ausgemachten Blödsinn. Wenn etwas nicht editierbar sein soll, wieso landet es dann im Editor? Meiner Meinung nach ist WYSIWYG mit non-editable nicht vereinbar.
Liebe Grüße,
Felix Riesterer.