Ich versuche, vier Leerzeichen einzufügen, wenn die Tabulatortaste gedrückt wird. Ich benutzte den folgenden Code (siehe spaces = "\t"
), aber wenn ich ihn auf spaces = " "
umschalte, wird nur ein Leerzeichen eingefügt, wenn ich Tab drücke. Ich habe auch versucht "" + "" + "" + "„:Fügen Sie vier Leerzeichen anstelle der Registerkarte ein
$(function() {
$('textarea').keydown(function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
var start = $(this).get(0).selectionStart;
var end = $(this).get(0).selectionEnd;
// set textarea value to: text before caret + tab + text after caret
spaces = "\t"
$(this).val($(this).val().substring(0, start)
+ spaces
+ $(this).val().substring(end));
// put caret at right position again
$(this).get(0).selectionStart =
$(this).get(0).selectionEnd = start + 1;
}
});
});
HINWEIS: Diese Bereiche sind in einem Browser-basierten einzufügen ist TextArea-/ide.
Werke für mich in Chrom/IE9/FF32 - http://jsfiddle.net/17auq970/ - welcher Browser verwenden Sie? – Rhumborl
Nicht genau verwandt, aber die Überprüfung "e.which" wird nicht benötigt, jQuery normalisiert die Eigenschaft für Sie ('which'). – Teemu
Danke @Teemu guter Gedanke – maudulus