2012-08-13 16 views
6

Ich habe gerade begonnen, eine contentEditable zu verwenden, und habe nicht viel umfassende Informationen darüber gefunden.contentEditable, CTRL-B CTRL-I und speichern

bemerkte ich, dass in Chrome, ich kann durch Drücken CTRL Wörter fett/kursiv - B und CTRL - I.

Wird dies möglicherweise das beabsichtigte Verhalten in anderen Browsern sein? Dies zum Beispiel funktioniert in Chrome:

<div class="container" id="typer" onclick="this.contentEditable='true';"> 

http://jsfiddle.net/uk6DA/15/

Ich frage mich, ob ich diese Formatierung lesen kann, um die Benutzer Änderungen zu speichern? Außerdem kann ich eine Schaltfläche Fett und Kursiv-Taste, die CTRL auslösen - B und CTRL - ich? Oder brauche ich, um auf den Benutzer abhängen Drücken CTRL - B und CTRL - ich (was bedeutet, dass sie eine Notiz bietet ihnen zu sagen)?

Antwort

16

Dies ist Standard in allen gängigen Browsern. Es gibt auch programmatische Entsprechungen der Tastaturkürzel, die über document.execCommand() in allen Hauptbrowsern verfügbar sind. Fett und kursiv Befehle, beispielsweise ausgeführt, können wie folgt:

document.execCommand("Bold", false, null); 
document.execCommand("Italic", false, null); 

jedoch der Aufschlag zwischen Browsern erzeugt variiert. Zum Beispiel enthalten Variationen für Fettdruck <b>foo</b>, <strong>foo</strong> und <span style="font-weight: bold">foo</span>.

Referenzen:

+0

Danke, das ist sehr hilfreich.Aber wissen Sie, warum dieses Beispiel (http://jsfiddle.net/uk6DA/15/) nicht in IE9 funktioniert? Zumindest sind Strg-B und Strg-I nicht. Würden die execCommands funktionieren? – Dave

+0

Vergiss es. Meine eigene Seite funktioniert. Die JSFiddle-Seite ist aus irgendeinem Grund nicht verfügbar. – Dave

+0

@Dave: Ja, ich denke das ist ein JSFiddle Problem. –

2

Kurze Antwort 'Ja'. Sie könnten diese article interessant finden. Viele Entwickler sind diesen Weg gegangen. Wenn Sie einen netten Wysiwyg-Editor möchten, gibt es viele zur Auswahl.

Auf zu Ihrer Frage: Ja, Sie können die Formatierung lesen. Versuchen Sie eine innereHTML auf dem Element und Sie werden <b> Tags um Ihre Fettdruck und <i> um Ihre Kursivschrift finden. Außerdem - in dem Artikel, den ich geteilt habe, erfahren Sie, wie Sie eine Schaltfläche erstellen, die fett gedruckt wird. Hoffe das hilft!

+0

Danke, wünsche ich, dass ich beide Antworten annehmen könnte, aber ich konnte nur einen nehmen. :( – Dave

+0

Alles gute Dave! Sein war sowieso vollständiger. Ehrlich gesagt habe ich mit Inhalt Editable zurück in den Tag gespielt. Aber es gibt so viele erfolgreiche und 'kompatible' WYSIWYG-Editoren da draußen - nicht viel Grund, das Rad neu zu erfinden Ihre eigene leichte Erfahrung kann Spaß machen, interessant und wenn Ihre Bedürfnisse leicht hilfreich sind Ein weiteres Problem mit den meisten WYSIWYG-Editoren - sie sind eine Verschmelzung von Hacks für IE5, 6, etc. Gott sei Dank bewegen wir uns in eine IE8 + Zukunft: -) –

+0

Ich versuche, eine einzigartige Benutzeroberfläche zu erstellen. Danke nochmal für die Hilfe! – Dave

Verwandte Themen