2010-12-09 16 views
0

ist es möglich, ich könnte charAt Funktion innerhalb der Funktion get Auswahl wie folgt verwenden?javascript: Ist es möglich, mit der charAt-Funktion ausgewählten Text zu erhalten?

getSelected function() { 
    var userSelection; 
    if (window.getSelection) { 
     userSelection = window.getSelection(); 
    } else if (document.selection) { 
     userSelection = document.selection.createRange(); 
    } 
    userSelection return; 
} 

zB: Ich habe einen ganzen Text willkommen Fluss zu stapeln über, dann wird der ausgewählte Text Stapel. Kann ich eine Funktion machen, um eine bestimmte Position mit charAt zu erhalten, wenn der Benutzer den Text auswählt und das System es mit dem gesamten Text vergleicht, wenn das System den gleichen Text gefunden hat, gibt das System die Position zurück.

weil in meinem Wissen charAt Funktion verwendet werden kann, die spezifische Position der Zeichenfolge .. http://help.dottoro.com/ljetnrhv.php#charAt

Antwort

1

nicht direkt, um zu bestimmen, da beide Methoden geben ein Objekt eher als String. So verwendet charAt Sie den String-Wert Auswahl erhalten müssen, nach dem Vorbild der

function getSelectionText() { 
    if (window.getSelection) 
     return window.getSelection().toString(); 
    if (document.selection) 
     return document.selection.createRange().text; 
    return null; 
} 

alert(getSelectionText().charAt(2)); // 3rd selected char 

Um eine Position einer Zeichenfolge in einer anderen Zeichenfolge verwendet indexOf zu finden. Das Finden einer Position der Auswahl auf einer Seite ist viel komplizierter, weil Sie die HTML-Struktur berücksichtigen müssen. Starten Sie here und here, um mehr zu erfahren.

+0

Kann ich eine bestimmte Position erhalten, wenn ich den Wert von selectedtext mit dem gesamten Text vergleiche? – user495688

+0

des Textes, können Sie meine Frage sehen. Ich habe gerade bearbeitet – user495688

+0

Ich benutze bereits indexOf aber Rückgabewert der Position ist nicht angegeben, wenn es das Sama Wort im Satz/Absatz ist. – user495688