Heim > Web-Frontend > js-Tutorial > Wie kann ich die Cursorposition in einem jQuery-Textbereich festlegen?

Wie kann ich die Cursorposition in einem jQuery-Textbereich festlegen?

DDD
Freigeben: 2024-12-28 05:55:13
Original
125 Leute haben es durchsucht

How Can I Set the Cursor Position in a jQuery Text Area?

jQuery setzt Cursorposition im Textbereich

Herausforderung:

Benötigen Sie eine Methode, um die Cursorposition in einem Text festzulegen Bereich mit jQuery. Das gewünschte Verhalten besteht darin, den Cursor an einem bestimmten Offset zu positionieren, wenn das Feld fokussiert ist.

jQuery-Lösung:

$.fn.setCursorPosition = function(pos) {
  if (this.setSelectionRange) {
    this.setSelectionRange(pos, pos);
  } else if (this.createTextRange) {
    var range = this.createTextRange();
    range.collapse(true);
    if (pos < 0) {
      pos = $(this).val().length + pos;
    }
    range.moveEnd("character", pos);
    range.moveStart("character", pos);
    range.select();
  }
};
Nach dem Login kopieren

Verwendung:

$('#input').focus(function() {
  $(this).setCursorPosition(4);
});
Nach dem Login kopieren

Dadurch würde der Cursor nach dem vierten Zeichen im Text positioniert Feld.

Alternative Lösung:

$.fn.selectRange = function(start, end) {
  if (end === undefined) {
    end = start;
  }
  return this.each(function() {
    if ("selectionStart" in this) {
      this.selectionStart = start;
      this.selectionEnd = end;
    } else if (this.setSelectionRange) {
      this.setSelectionRange(start, end);
    } else if (this.createTextRange) {
      var range = this.createTextRange();
      range.collapse(true);
      range.moveEnd("character", end);
      range.moveStart("character", start);
      range.select();
    }
  });
};
Nach dem Login kopieren

Dies ermöglicht eine vielseitigere Textauswahl, einschließlich der Auswahl einer Reihe von Zeichen:

$('#elem').selectRange(3, 5); // select a range of text
$('#elem').selectRange(3); // set cursor position
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich die Cursorposition in einem jQuery-Textbereich festlegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage