Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

div mit contenteditable in ie8+ - Zeilenumbrüche

Empfohlene Antworten

Veröffentlicht

Hi,

ich baue grade einen texteditor aus einem div mit contenteditable.

nun habe ich das problem, das der ie8 statt einem einfachen zeilenumbruch ein p-tag einfügt, was mir beim copy paste aus meinem editor in andere Anwendungen probleme macht (statt einem einfachen zeilenumbruch wird nach dem kopieren ein 3-facher zeilenumbruch)

wie kann ich das umgehen?

umgehen kannst du dies, indem bei den speziellen p-Tags (den p-Tags innerhalb des editierbaren Elements) den Abstand nach diesen mittels CSS entfernst. (Zeilenumbrüche dürften ja genau so viele vorhanden sein, wie in deinem kopierten Text, nur dürfte die Darstellung nicht die gewünschte sein)

allerdings dürfte das keine sehr elegante Variante sein

was ich persönlich besser finde: formatiere den Text, den du kopieren willst, "richtig"

da dein Editor (Notepad, Notepad++, Textpad, Gedit, vi, vim, ...) keine richtigen Formatierungen (wie Absatzformatierungen) unterstützt, solltest du diese auch nicht immitieren (mittels leerer Zeile bzw. dem, was später zu dem leeren Absatz wird)

dadurch hat man danach mit CSS immernoch alle Freiheiten bei der Formatierung

wenn letzteres deiner Ansicht nach aber nicht die richtige Lösung ist, dann beschreibe doch, was für eine Art von Text man in dem Element eingeben soll (bzw. was für eine Art von Text du kopierst)

Hi,

das Problem ist schwer zu erklären...

habe aber eine Lösung gefunden:

      document.getElementById('divedit').attachEvent ('onkeydown', function(e) {

        if(e.keyCode==13) {

          pasteHtmlAtCursor('<br>');

          return false;

        }

        return true;

      });

was pasteHtmlAtCursor tut sollte selbsterklärend sein

btw: kann man fragen hier im forum eigentlich als gelöst markieren?

ich halte die Lösung zwar nicht für sehr schön, allerdings denke ich nicht, dass es ein zu großer Workaround ist (und man damit leben kann)

allerdings (als eisener Verfechter von XHTML) würde ich eher ein '<br />' einfügen (und grundsätzlich XHTML und nicht HTML verwenden), aber das ist wohl eher Geschmackssache...

wenn, dann müsstets du das wohl durch editieren deines 1. Beitrags machen

notfalls fügst du an den Anfang des Titels einen Hinweis wie "[Erledigt]"

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.