[contenteditable] Oplossing voor <br> ipv <p>

Pagina: 1
Acties:

  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52
Het gaat dus over het probleem waar Pelle het hier al over had: Als je een contenteditable divje hebt maakt hij van je entertjes <p> .. </p> tags in plaats van <br>'s, met als gevolg dat je nooit gewoon naar de volgende regel gaat, maar altijd een witregel ertussen krijgt.

Ik heb er lang over gedaan maar ik geloof dat ik nu wel een redelijke oplossing voor dit probleem gevonden heb. Het is een akelig smerige en omslachtige workaround, maar het werkt min of meer.

Klik.

Zoals jullie zien gebeuren er een aantal rare dingen. Zoals de <!----> comment die toegevoegd en er vervolgens weer uitgesloopt wordt. Dit omdat er anders een   wordt toegevoegd; waarom dat precies gebeurt moet je Bill maar vragen.

De \n is er omdat er ander rare dingen gebeuren wanneer je met de pijltjestoetsen door het tekstveld heen gaat wandelen; hij herkent de witregels dan niet als zijnde witregels en slaat ze over. Dit gebeurt soms wel en soms niet (checken jullie effe), hier in IE6 op win2k althans. Vooral het deleten van witregels gaat zonder de \n mis.

Wat dingen die nog listig zijn zijn de volgende:

• Bij het invoegen van een newline springt de cursor eerst 2 regels naar beneden (als de <p>..</p> tags worden ingevoegd) en vervolgens weer een regel terug (als de <p>..</p> eruit worden gesloopt).

• Wanneer je ergens midden in de tekst een newline toevoegt, vangt hij weliswaar de cursorpositie en zet hij netjes op die plaats een <br> neer, maar daarna zet hij de cursor weer achteraan. Als je dus ergens midden in de tekst 2 newlines maakt (enter enter) komt de 2e dus achteraan te staan.

Heeft er misschien iemand hier oplossingen (lees: work-arounds) voor? Of andere op/aanmerkingen/verbeteringen/suggesties?

  • mjax
  • Registratie: September 2000
  • Laatst online: 25-06 07:19
Ik weet natuurlijk niet precies wat je bedoeling is, maar als ik het probeer, wordt er nog steeds een witregel toegevoegd bij een enter.

Ik gebruik IE6 in NetCaptor.

Verwijderd

Volgens mij moest je voor een <br> een alla MS Excel toetsencombo gebruiken. Iets met alt+enter of ctrl+enter. :)

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Ik ben hier idd ook aan bezig, en dit is wel een van de meest irri 'bugs' die ik gevonden heb...

Ik ben er hier mee begonnen, maar al een tijdje niet verder gegaan. hoop dat je wat aan m'n code hebt.

Stop uploading passwords to Github!


Verwijderd

Je kunt in zo'n vak wel gewoon een newline doen met shift+enter. Ik heb ook al eens geprobeerd om het anders te doen maar dat is zo goed als onmogelijk. Ik denk dat het je niet lukt om die tekst nu nog te stylen... Dus bijv centreren ofzo. Daar gebruikt IE de <p> tag voor!

  • Booster
  • Registratie: Februari 2000
  • Laatst online: 25-06 21:39

Booster

Superuser

Bij het voorbeeld van 2 krijg ik 2x een <BR> als ik shift-enter doe. Ik kan er vervolgens weer 1 weghalen, lekker vreemd allemaal ja.

The cake is a lie | The Borealis awaits...


  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52
Arien wees me erop dat het zo ook kan:
code:
1
2
3
4
5
<style type="text/css">
<!--
  #textField p { margin: 0; }
-->
</style>

En dan vervolgens server-side de P's er eventueel uitslopen.

Ook een oplossing :)

Verwijderd

lezen is ook een kunst, goedemorgen mophor
Pagina: 1