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?
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?