Ich möchte in der Lage sein, bestimmte Textbereiche auf einer Seite in ACE-Editoren umzuwandeln.
Hat jemand bitte irgendwelche Hinweise?
BEARBEITEN:
Ich habe die Datei editor.html, die mit einem Textbereich arbeitet, aber sobald ich eine zweite hinzufüge, wird die zweite nicht in einen Editor konvertiert.
EDIT 2:
Ich beschloss, die Idee, mehrere zu haben, zu verwerfen und stattdessen eine in einem neuen Fenster zu öffnen. Meine neue Situation ist, dass wenn ich den Textbereich verstecke () und zeige (), die Anzeige schief geht. Irgendwelche Ideen?
Antworten:
Soweit ich die Idee von Ace verstanden habe, sollten Sie einen Textbereich nicht selbst zu einem Ace-Editor machen. Sie sollten stattdessen ein zusätzliches div erstellen und den Textbereich mit der Funktion .getSession () aktualisieren .
html
js
oder einfach anrufen
Nur wenn Sie das Formular mit dem angegebenen Textbereich einreichen. Ich bin mir nicht sicher, ob dies der richtige Weg ist, Ace zu verwenden, aber es ist der Weg, wie es auf GitHub verwendet wird .
quelle
'SELECT 1OR&nbps;2;'
den Textbereich gestellt. Kann mir jemand sagen, was ich falsch mache?Duncansmart hat eine ziemlich großartige Lösung auf seiner Github-Seite, Progressive-Ace, die eine einfache Möglichkeit demonstriert, einen ACE-Editor an Ihre Seite anzuschließen .
Grundsätzlich erhalten wir alle
<textarea>
Elemente mit demdata-editor
Attribut und konvertieren jedes in einen ACE-Editor. Das Beispiel legt auch einige Eigenschaften fest, die Sie nach Ihren Wünschen anpassen sollten, und zeigt, wie Sie mithilfe vondata
Attributen Eigenschaften pro Element festlegen können, z. B. das Ein- und Ausblenden der Rinnedata-gutter
.quelle
Sie können mehrere Ace-Editoren haben. Geben Sie einfach jedem Textbereich eine ID und erstellen Sie einen Ass-Editor für beide IDS wie folgt:
quelle
Um einen Editor zu erstellen, gehen Sie einfach wie folgt vor:
HTML:
JS:
CSS:
Sie müssen explizit positioniert und dimensioniert werden. Mit show () und hide () beziehen Sie sich meiner Meinung nach auf die jQuery-Funktionen. Ich bin mir nicht sicher, wie sie es genau machen, aber es kann den Speicherplatz im DOM nicht ändern. Ich verstecke und zeige mit:
Wenn Sie die CSS-Eigenschaft 'display' verwenden, funktioniert dies nicht.
Im Wiki finden Sie Informationen zum Hinzufügen von Themen, Modi usw. https://github.com/ajaxorg/ace/wiki/Embedding---API
Hinweis: Sie müssen keine Textbereiche sein, sondern können jedes gewünschte Element sein.
quelle
ace.edit('code1')
Sie Müll wie:<textarea class="ace_editor ace-twilight ace_focus"><div class="ace_gutter">...</textarea>
Mit anderen Worten, die ace.edit versucht, sich in den Textbereich zu stopfen, und das ist nicht sehr schön.Für alle wie mich, die nur ein minimales, funktionierendes Beispiel für die Verwendung von Ace aus dem CDN wünschen:
quelle