2015-09-01 1 views
0

J'utilise .getSelection pour obtenir le texte sélectionné, puis j'utilise .getRangeAt(0) puis j'utilise .getBoundingClientRect() pour obtenir la position de la fenêtre.Confusion à propos de getBoundingClientRect, .getSelection, .getRangeAt

Voici mon code de travail.

function getText(){ 
    if(window.getSelection) { 
    return window.getSelection(); 
    } 
} 

$("#textArea").mouseup(function(){ 
    var selection = getText(); 
    var oRange = selection.getRangeAt(0); 
    var oRect = oRange.getBoundingClientRect(); 

    var left = oRect.left 
    var top = oRect.top 
} 

Mes questions sont les suivantes:

Pourquoi je "ne peut pas" utiliser directement comme? Je dois utiliser .getRangeAt();

Quelle est la différence entre ces trois fonctions?

  1. .getSelection
  2. .getRangeAt
  3. .getBoundingClientRect

Répondre

0

getBoundingClientRect est le décalage de l'élément tout élément, getSelection et getRangeAt travailler avec le curseur et le non retour d'un élément de leur retour d'un objet de sélection et un objet de plage