Toon posts:

[js/dHTML] contenteditable: alleen Bold en Italic

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig om een bestaand CMS aan te passen.
Om te voorkomen dat jullie een hele lap code door moeten spitten even kort het volgende;

De tekst die men kan aanpassen staat in een DIV. Dit div element staat op CONTENTEDITABLE, dus men kan de content van die DIV aanpassen.
Probleem is dat men hier in kan plakken wat men wil, dus plaatjes, links, andere lettertypes, etc en laat dát nou net niet de bedoeling zijn..

Men mag alleen de tekst aanpassen, en deze bold of italic maken. Meer mag er niet. Nu kan ik wel alleen twee knopjes met een execCommand Bold en Italic laten zien, dat is het probleem niet. Maar de snuggere gebruiker zal zien dat als hij ctrl-v doet hij ook zn eigen opmaak kan gebruiken.

Is er een manier om dit netjes op te lossen? Ik had al bedacht om de rechter muisknop uit te schakelen en CDTR-V ook (weet niet of dat laatste kan).

Of is er een handigere manier? Ik heb al flink lopen zoeken maar iets relevants kon ik niet vinden.

Het probleem is dus dat als je een DIV op contenteditable zet je de gebruiker teveel vrijheid geeft in mijn situatie.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

ik denk dat je gewoon het onpaste event af moet vangen

Intentionally left blank


  • Skaah
  • Registratie: Juni 2001
  • Niet online
De hele functie plakken doen is misschien niet zo handig. Kun je niet het plakken 'event' vangen en dan op de hele tekst in de div 'parsen', en alleen de bold en italic dingen laten staan?

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 14:52
Ik heb exact hetzelfde probleem: zo'n content editable DIV is zeer gebruikersvriendelijk, maar wat je zegt: de gebruiker kan teveel. Ik heb de voordelen op laten wegen tegen de nadelen en toch voor gekozen.

Ik ben er niet mee verder gegaan toen het eenmaal 'af genoeg' was, maar ik kan me voorstellen dat je met een regular expression alles behalve <b> en <i> kan wijzigen. Even gekeken bij http://nl2.php.net/manual/en/function.strip-tags.php, en het kan zelfs standaard ;).

Verwijderd

Topicstarter
Ik wist sowieso niet van het bestaan van onPaste af, dus dank daarvoor!
Ik denk dat ik dat gewoon lekker uit ga schakelen.

Beetje de makkelijke manier, maar toch. Wel lekker effectief.
Suggesties blijven altijd welkom offcourse.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

clientside kan je ook met regexps je eigen strip-tags functie maken (hell, als je even goed zoekt zal je vast wel een voorbeeld van mijn hand ergens in W&G vinden :P )

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op 26 november 2003 @ 12:53:
clientside kan je ook met regexps je eigen strip-tags functie maken (hell, als je even goed zoekt zal je vast wel een voorbeeld van mijn hand ergens in W&G vinden :P )
offtopic:
Als de MSDN-mensen tijdens het maken van hun library hier toch eens zoeken naar alleen al alle Crisp-replies zou ze dat heel wat werk besparen.. :9
Pagina: 1