Heim  >  Artikel  >  Web-Frontend  >  Javascript-Methode zum Erhalten und Festlegen der Cursorposition_Javascript-Kenntnisse

Javascript-Methode zum Erhalten und Festlegen der Cursorposition_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 15:49:392004Durchsuche

Das Beispiel in diesem Artikel beschreibt die Methode zum Abrufen und Festlegen der Cursorposition in Javascript. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Bei der Projektentwicklung stoßen wir häufig auf das Problem, die Cursorposition auf das Ende der Eingabe zu setzen. Heute habe ich bei Google nachgeschaut und herausgefunden, wie man die Cursorposition (getCursortPosition) ermittelt und die Cursorposition in Mainstream-Browsern wie dem IE festlegt , Firefox und Opera (setCursorPosition).

1. Funktion zum Abrufen der Cursorposition:

function getCursortPosition (ctrl) {
  var CaretPos = 0;  // IE Support
  if (document.selection) {
  ctrl.focus ();
    var Sel = document.selection.createRange ();
    Sel.moveStart ('character', -ctrl.value.length);
    CaretPos = Sel.text.length;
  }
  // Firefox support
  else if (ctrl.selectionStart || ctrl.selectionStart == '0')
    CaretPos = ctrl.selectionStart;
  return (CaretPos);
}

2. Funktion „Cursorposition festlegen“:

function setCaretPosition(ctrl, pos){
  if(ctrl.setSelectionRange)
  {
    ctrl.focus();
    ctrl.setSelectionRange(pos,pos);
  }
  else if (ctrl.createTextRange) {
    var range = ctrl.createTextRange();
    range.collapse(true);
    range.moveEnd('character', pos);
    range.moveStart('character', pos);
    range.select();
  }
}

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Stellungnahme:
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