Frage Aktualisieren eines Eingabewerts ohne Verlust der Cursorposition [duplizieren]


Mögliche Duplikate:
Stoppen Sie den Cursor vom Ende bis zum Ende des Eingabefeldes in JavaScript ersetzen 

Ich möchte festlegen, dass der Wert eines Textfelds in Kleinbuchstaben ist und JavaScript verwendet. Ich habe den folgenden Code ausprobiert, aber der Cursor springt jedes Mal an das Ende der Eingabe, wenn Sie eine Taste drücken. Wie kann ich das vermeiden?

$("#beLowerCase").keyup(function(){
    $(this).val( $(this).val().toLowerCase() );
});

76
2018-01-24 18:58


Ursprung


Antworten:


$("#beLowerCase").on('input', function(){

    // store current positions in variables
    var start = this.selectionStart,
        end = this.selectionEnd;

    this.value = this.value.toLowerCase();

    // restore from variables...
    this.setSelectionRange(start, end);
});

(Geige)


Dies funktioniert auch mit CSS:

#beLowerCase{
  text-transform:lowercase;
}

Und der Server kann sich um das eigentliche Untergehäuse kümmern ...


116
2018-01-24 19:06