esthy: das selbe Problem

Hallo zusammen

Wie ich aus dem Forum lesen kann haben ein paar User das selbe Problem. Und zwar die Formatierung eines markierten Textes als eine CSS-Class.

..Das heisst das der User einen Text markieren kann
..per Button den CSS-Style auswählen kann
..und dass das Tool automatisch den "<span class="css_lauftext1">xy</span>" um den markierten Text schreibt.

Auch ich möchte dieses Tool in meinem CMS einbauen, finde aber auch nicht die richtige Lösung.

Mit

function Formatieren(nr,what){
 eval('Bereich' + nr +'.focus()');
 var tr = eval('Bereich' + nr +'.document.selection.createRange()');
 tr.execCommand(what); tr.select();
}

einen Text Fett, Kursiv oder Unterschrichen darzustellen ist kein Problem....aber wie ein CSS-Style zuweisen...?

Danke für jede Hilfe und Unterstützung

:-)...Esthy

  1. Hallo

    Wie ich aus dem Forum lesen kann haben ein paar User das selbe Problem. Und zwar die Formatierung eines markierten Textes als eine CSS-Class.

    ..Das heisst das der User einen Text markieren kann
    ..per Button den CSS-Style auswählen kann
    ..und dass das Tool automatisch den "<span class="css_lauftext1">xy</span>" um den markierten Text schreibt.

    Auch ich möchte dieses Tool in meinem CMS einbauen, finde aber auch nicht die richtige Lösung.

    Das ist auch verhältnismäßig kompliziert. Wobei das komplizierte nicht der Einbau ist, sondern das Ändern oder loswerden.

    Grundsätzlich gehts so:

    Du prüfst, ob der markierte Text ein Elternelement hat und gibst dem die CSS. Das geht über das Setzen und Löschen von Attributen.

    Analog geht man vor, wenn man die Klasse wieder loswerden oder ändern will.

    Einen span mit einer Klasse zu setzen ist einfach.

    rangeobjekt.pasteHTML('<span class="deineKlasse">'+objekt.htmlText+'</span>")

    lies am besten Mal genauer was bei Mircosoft dazu steht:
    http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_textrange.asp

    Viele Grüße

    Antje

    PS: Ich habe einen Editor geschrieben, der wesentlich mehr kann als du willst, aber eval() habe ich nirgendwo gebraucht. Es gibt bessere Lösungen.