editable div probleem

Pagina: 1
Acties:

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 01-09 21:47
Ik ben bezik met een cms tooltje

nu is het de bedoeling om tekst bold te maken.

het probleem als ik iets selecteer wat al bold is dan moet het bold daar verdwijnen

ik wil geen gebruik maken van execCommand

dus hoe kan ik kijken of er een bold tag voor me selectie staat?

PSN jschut_82 | Xbox: JSchut82


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

Van de selection.createRange kan je de parentElement tagName opvragen.

code:
1
document.selection.createRange().parentElement().tagName


Als dat een B is is je selectie bold. Het kijkt zo alleen niet verder dan 1 element diep. dus als je een italic stuk binnen die bold selecteert krijg je de I terug, niet de B.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 01-09 21:47
ja klopt dat is dus het probleem want je kan weer niet degene daavoor opvragen :(

PSN jschut_82 | Xbox: JSchut82


  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 01-09 21:47
ik ben er achter dat het toch wel kan iig bedankt voor de tip die me erg veel geholpen heeft

PSN jschut_82 | Xbox: JSchut82


  • Grom
  • Registratie: Juli 2002
  • Laatst online: 25-11-2024

Grom

lief hè!

Hoe heb je dat dan opgelost?
Ben gewoon nieuwsgierig.

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 01-09 21:47
code:
1
2
3
4
5
6
7
    var selection = document.selection.createRange().htmlText;
    var elemTmp = document.selection.createRange().parentElement();

    while (!(elemTmp.tagName).match(/TD/i)) {
        alert("Element is " + elemTmp.tagName);
        elemTmp = elemTmp.parentElement;
    }

PSN jschut_82 | Xbox: JSchut82


  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ik heb laatst een een editor geschreven, maar dan met execCommands.

Ik vroeg me af waarom je geen execCommands wil gebruiken? Je kan wel proberen de editor geschikt te maken voor Netscape IE en Mozilla, maar je zit toch vast aan de contenteditable optie van IE 5.5+.

Ik blijf er iig vrij nuchter onder....


  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 01-09 21:47
ja ok maar als ik me eigen editor functies schrijf dan kan ik zelf uitmaken wat voor tags ik wil gebruiken

bijvoorbeeld zoals STRONG en BOLD
ook wil ik geen font tags gebruiken

en die functies maken er een bende van

vandaar dat ik die execCommand niet wil gebruiken

PSN jschut_82 | Xbox: JSchut82


  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
Ik ben ook een dagje bezig geweest om zoiets te maken... maar dan met DIV'jes die een class hebben. Uiteindelijk ben ik er mee opgehouden... je moet met te veel dingen rekening houden om zoiets goed te laten werken. want stel je voor een selectie waarvan de helft wel bold is en de andere helft niet... dat gaat nog wel, maar als je 5 verschillende styles hebt dan kan een selectie meerdere styles bevatten, styles maar gedeeltelijk binnen een selectie vallen, etc, etc.

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden


Verwijderd

maartenvdv schreef op 14 augustus 2002 @ 16:34:
maar je zit toch vast aan de contenteditable optie van IE 5.5+.
Wrong :) je kan het ook in Mozilla voor elkaar krijgen, is mij ook gelukt, het werkt iets anders, maar is onderdeel van een klein X-browser CMS experimentje, zodat ook Linux en Mac users er gebruik van kunnen maken. De vranderingen worden uiteindelijk via een POST gestuurd naar een php bestand die het te wijzigen HTML bestand update, was zeer leuk en leerzaam.

Ondermeer wat Clay hierboven poste. Mijn inspiratie voor dit projectje kwam hiervandaan

  • Grom
  • Registratie: Juli 2002
  • Laatst online: 25-11-2024

Grom

lief hè!

JSchut schreef op 14 augustus 2002 @ 16:25:
code:
1
2
3
4
5
6
7
    var selection = document.selection.createRange().htmlText;
    var elemTmp = document.selection.createRange().parentElement();

    while (!(elemTmp.tagName).match(/TD/i)) {
        alert("Element is " + elemTmp.tagName);
        elemTmp = elemTmp.parentElement;
    }
Ok tnx.
Pagina: 1