Ich versuche herauszufinden, wie Sie Menschen in Tiny MCE-Editor einrücken können. Gerade jetzt, wenn jemand tab
drückt, bewegen sie sich einfach in das nächste Feld. Gibt es einen Codeabschnitt, der es ihnen ermöglicht, tab
tatsächlich zu treffen und eine Registerkarte für einen neuen Absatz erstellen zu lassen?Tiny MCE: Wie man Menschen einzurücken
Antwort
Sie können dieses Ereignis und stopPropagation/return false
für den Fall, dass der Benutzer die Registerkarte drücken.
// Adds an observer to the onKeyUp event using tinyMCE.init
tinyMCE.init({
...
setup : function(ed) {
ed.onKeyDown.add(function(ed, evt) {
console.debug('Key up event: ' + evt.keyCode);
if (evt.keyCode == 9){ // tab pressed
ed.execCommand('mceInsertRawHTML', false, '\x09'); // inserts tab
evt.preventDefault();
evt.stopPropagation();
return false;
}
});
}
});
Falls der Benutzer eine Registerkarte am Anfang oder Ende eines Absatzes einfügt wird es vom Browser gelöscht werden (eine Abhilfe für dies ist ein Sonderzeichen mit einer vordefinierten Länge einzufügen, die kein Reiter ist) .
Gibt es eine Möglichkeit, den Cursor daran zu hindern, zum nächsten Feld zu springen? Jetzt wird die Registerkarte eingefügt, aber auch in das nächste Feld verschoben. –
Auch die Variable 'evt' gibt nur einen Fehler. –
das war mein Fehler (es ist notwendig, das Blasen des Ereignisses zu stoppen), korrigierte ich es in meinem Code über – Thariama
Die Lösung von Thariama hat nicht ganz funktioniert. Ich stimme Jon Hulkas Lösung zu. Dies scheint auf Firefox (Mac + PC), Chrome (Mac + PC) und Internet Exploder gut zu funktionieren. Es ist nicht perfekt, aber ich finde es sehr brauchbar und akzeptabel. Dank Jon
So op Jon Lösung zu wickeln:
tinyMCE.init({
...
setup : function(ed) {
ed.onKeyDown.add(function(ed, evt) {
if (evt.keyCode == 9){
ed.execCommand('mceInsertContent', false, '  ');
evt.preventDefault();
}
});
}
});
Für neuere Versionen von Tiny MCE Editor die folgende Lösung für mich gearbeitet:
setup: function(ed) {
ed.on('keydown', function(event) {
if (event.keyCode == 9) { // tab pressed
if (event.shiftKey) {
ed.execCommand('Outdent');
}
else {
ed.execCommand('Indent');
}
event.preventDefault();
return false;
}
});
}
Die Antworten hier tat gegeben nicht ganz entsprechen meinen Anforderungen, wie ich Text in der Mitte einer Zeile einrücken muss. Ich listete die Namen von Bürofilialen auf und wollte, dass ihre Telefonnummern zusammengehörten. Da jeder Büroname eine andere Länge hat, probierte ich eine Kombination aus @ Macs Antwort und Leerzeichen, aber ich konnte es nicht genau genug bekommen, also fügte ich eine kleine Leerzeichenoption mit Umschalttaste und Leertaste hinzu . Der einzige Nachteil ist, dass die Standard-Entities für tinymce nicht enthalten Also musste ich die Standard-Entity-Liste zu meinen Einstellungen hinzufügen und "8202, hairsp" am Ende hinzufügen.
tinyMCE.init({
...
setup : function(ed) {
ed.on('keydown', function(event) {
if (event.keyCode == 9) { // tab pressed
ed.execCommand('mceInsertContent', false, '  '); // inserts tab
event.preventDefault();
return false;
}
if (event.keyCode == 32) {
if (event.shiftKey) {
ed.execCommand('mceInsertContent', false, ' '); // inserts small space
event.preventDefault();
return false;
}
}
});
}
});
Es kann über nonbreaking Plugin in tinymce
tinymce.init({
selector: "textarea", // change this value according to your HTML
plugins: "nonbreaking",
mewnubar: "insert",
toolbar: "nonbreaking",
nonbreaking_force_tab: true
});
Details zu https://www.tinymce.com/docs/plugins/nonbreaking/
Sie einfach hinzugefügt Registerkarte Raum kann folgenden Code gefunden werden kann getan werden,
ed.on('keydown',function(evt){
if (evt.keyCode==9) {
ed.execCommand('mceInsertContent', false, '<span class="mce-nbsp">    </span>');
tinymce.dom.Event.cancel(evt);
return;
}
});
- 1. Alternative zu Tiny MCE
- 2. Django Hinzufügen tiny-mce
- 3. Tiny mce Bild bearbeiten löschen
- 4. Wie man Instagram Beitrag mit Tiny MCE Editor einbetten
- 5. Tiny MCE - Vollbildmodus beim Laden des Editors?
- 6. Wie Tiny MCE execCommand mit jQuery-Version verwenden
- 7. Tiny MCE Text Editor Problem (mit einer großen Zeichenfolge)
- 8. Implementieren von Tiny MCE als lokalen HTML-Editor
- 9. Tiny MCE - Entfernen 'Datei' Option aus dem Menü
- 10. Tiny MCE - Just kochen mich Bild hochladen versagt
- 11. Tiny-MCE funktioniert nicht richtig auf Textfeld und Textbereich
- 12. Wie implementiert man SVG 1.2 Tiny textArea?
- 13. Tiny MCE (jquery plugin version) zeigt die Toolbar im IE nicht an (funktioniert in anderen Browsern)
- 14. Die Tiny MCE-Inhaltsformatierung fügt keine Stile in die erstellten Bereiche ein.
- 15. type = "mce-text/javascript" wird in winzigen mce Editor html
- 16. Minimalist, Tiny Javascript Template System?
- 17. Lernen, Windows MCE-Plugins zu erstellen
- 18. Wie gehen Menschen ihre eigenen Programmiersprachen erstellen?
- 19. wie Code bei der Hervorhebung einzurücken, verwenden Sie highlight.js
- 20. Haskell: Menschen lesbare Daten
- 21. Informatik für ältere Menschen
- 22. Verwenden Sie Try :: Tiny oder Eval?
- 23. Wofür verwenden Menschen Elasticsearch?
- 24. Menschen Erkennung und Tracking
- 25. Von Menschen lesbare Datumsformate
- 26. winzige MCE Schriftart Dropdown-Liste hinzufügen
- 27. Tiny C Compiler (TCC) und Winsock?
- 28. JAAS für Menschen
- 29. Für Menschen lesbare Zahlen
- 30. zu Menschen lesbaren Zeitraffer
Dieser Artikel spricht über dieses Problem: http: //www.pixelastic.com/blog/159:tabindexing-and-inserting-tabs-mit-tinymce – Tim
@Tim ich bin sehr verwirrt. Jedes Mal, wenn ich eine Internetsuche nach diesem Problem mache, finde ich nur Links zu Menschen mit dem umgekehrten Problem. Wenn ich auf die Tabulatortaste trete, springt es zum nächsten Feld. Es scheint, dass, wenn jemand anderes auf den Tab klickt, er nicht zum nächsten Feld springt (auch Ihr Artikel). –