Avatar billede robson Nybegynder
17. februar 2003 - 08:56 Der er 19 kommentarer og
1 løsning

Spg. til DHTML Editor

Hej

Jeg arbejder på at lave en editor således at jeg kan lave simpel redigering af tekster.

Det er lykkes mig at indsætte en span med en style fra mit stylesheet, men jeg kan ikke gennemskue hvorledes jeg  slette denne span igen når jeg igen trykker på knappen - præcis som med Bold, Italic osv.

Min kode ser således ud:

<html>
<head>
    <script>
    function SaetStyle(s) {
        var range = myEditor.document.selection.createRange();
        range.pasteHTML("<span Class='" + s + "'>" + range.htmlText + "</span>");
    }
 
    </script>
</head>

<body>

<DIV ID=editbar>

<input type="button" value="style pink" onClick="SaetStyle('test');" id=button1 name=button1>

<IFRAME WIDTH=600 HEIGHT=400 ID=myEditor></IFRAME>


<script>
    myEditor.document.designMode = "on";
</script>

</div>

</body>
</html>
Avatar billede dmdisco Nybegynder
17. februar 2003 - 09:02 #1
Avatar billede robson Nybegynder
17. februar 2003 - 09:07 #2
ja, de sider har jeg brugt en hel del tid på... men jeg skal erkende at jeg har svært ved at komme igennem disse sider og få noget fornuftigt ud af dem... :(
Avatar billede pelkjaer Nybegynder
17. februar 2003 - 09:21 #3
Det nemmeste at gøre er at bruge <font> tags istedet sammen med din css.

<font class="bla">test</font> - det virker på samme måde.
Så kan du fjerne formattering med RemoveFormat.
Avatar billede robson Nybegynder
17. februar 2003 - 09:29 #4
jeps - det virker fint... Men når jeg markerer min tekst og trykker på knappen der indsætter stylen så forsvinder markeringen (jeg mener - trykker man istedet Bold så bliver markeringen på teksten) - er det muligt at få markeringen til at blive på det valgte??
Avatar billede robson Nybegynder
17. februar 2003 - 09:44 #5
pelkjaer - du skal nok få points for dit svar, men kan du (eller andre) hjælpe lidt videre... ??

findes der ikke en side derude et eller andet sted som giver en liste over hvilke parametre som execCommand() har mulighed for at tage - det har hidtil været lidt af en gætteleg... fx Bold, Fontname, InsertImage, RemoveFormat???
Avatar billede olebole Juniormester
17. februar 2003 - 09:51 #6
Avatar billede pelkjaer Nybegynder
17. februar 2003 - 09:55 #7
;o)
Avatar billede pelkjaer Nybegynder
17. februar 2003 - 09:55 #8
Hov forkert sp. til den smiley
Avatar billede robson Nybegynder
17. februar 2003 - 09:57 #9
Tak for linket olebole - så kan det altså lade sig gøre at finde frem til noget brugbart på MS siderne...  ;)
Avatar billede robson Nybegynder
17. februar 2003 - 10:00 #10
burde jeg oprette et nyt spørgsmål til ovenstående spørgsmål omkring det markerede tekst... eller er der en der i sit hjertes godhed har et hurtigt svar  :o)
Avatar billede pelkjaer Nybegynder
17. februar 2003 - 10:01 #11
Denne her har jeg selv fået bixet sammen efter mange forskellige forsøg, og den fungerer rigtigt godt.

function applyStyle(Style) {
  var seltype = myeditor.document.selection.type;
  if (seltype == "Control") { // block element er markeret
    var ctrlrnge = myeditor.document.selection.createRange();
    ctrlrnge(0).className = style;
  }
  if (seltype == "Text"||seltype == "None") { // vi arbejder med tekst
    var txtrnge = myeditor.document.selection.createRange();
    var ptg = txtrnge.parentElement(); // få fat i parent tag af aktuel cursor position
    ptg.className = Style;
  document.all.cssstyle.selectedIndex = 0;
  }
}

Så kører du fx. bare dine styles i en selects, og apply'er med

applyStyle(this.options[this.selectedIndex].value);
Avatar billede robson Nybegynder
17. februar 2003 - 10:07 #12
forsøger lige...  :o)
Avatar billede robson Nybegynder
17. februar 2003 - 10:22 #13
Kanon... super lille funktion du lige har "bikset" sammen der...  :o)
Så mangler jeg KUN at kunne oprette og redigerer tabeller - er der også noget du lige har bikset sammen på det område????
Avatar billede pelkjaer Nybegynder
17. februar 2003 - 10:29 #14
Det er noget mere omstændigt :)
Avatar billede robson Nybegynder
17. februar 2003 - 10:32 #15
tænkte jeg nok :( - men er det noget du har erfaring med?? - jeg opretter gerne et nyt spørgsmål!!
Jeg har tænkt på at benytte MS DHTML Editing Component til den del - er der en bedre løsning??
Avatar billede dkkarpen Nybegynder
12. december 2003 - 11:01 #16
Hvad skal value være? Ens klassenavn eller?
Avatar billede pelkjaer Nybegynder
12. december 2003 - 12:09 #17
ja
Avatar billede dkkarpen Nybegynder
12. december 2003 - 12:14 #18
Det får jeg fejl på. Error: 'mincssklasse' is undefined.
Avatar billede dkkarpen Nybegynder
12. december 2003 - 12:24 #19
Jeg kalder den f.eks. onclick="applyStyle(btekst)"
Avatar billede dkkarpen Nybegynder
12. december 2003 - 13:22 #20
Ahh den skulle selvf. kaldes onclick="applyStyle('btekst')"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester