J'ai un peu de code qui retourne le texte d'une sélection et je peux assigner cette chaîne à une variable, mais maintenant j'ai besoin de deux variables, une pour le texte avant la sélection et une pour le texte après la sélection. Voici le code pour obtenir la sélection:Javascript: Je peux obtenir le texte d'une sélection, comment puis-je obtenir le texte en dehors de la sélection?
function findSelection(){ //returns the selection object.
var userSelection;
if (window.getSelection) {userSelection = window.getSelection();} // Mozilla Selection object.
else if (document.selection){userSelection = document.selection.createRange();} //gets Microsoft Text Range, should be second b/c Opera has poor support for it.
if (userSelection.text){return userSelection.text} //for Microsoft Objects.
else {return userSelection} //For Mozilla Objects.
}
Puis-je trouver les positions pour trouver les carets anchorOffset et focusOffset. J'ai essayé de les utiliser pour modifier un objet de gamme, comme ceci:
var range = document.createRange();
range.setStart(textdiv,0);
range.setEnd(textdiv,5);
Où textdiv
est une variable qui contient la dernière div l'utilisateur a cliqué sur. Le problème est firefox me donne juste un "Security error" code: "1000"
à la ligne range.setStart(textdiv,0);
.
Existe-t-il un moyen plus facile de faire cela? J'ai vraiment juste besoin du texte et rien de plus.
Cette fonction 'findSelection' est défectueuse, comme je l'ai expliqué dans mon (apparemment ignoré) réponse à votre question sur ce morceau de code: http://stackoverflow.com/questions/2820650/javascript-functions-return-lines-of-function-code-or-national-code-what-am/2825473#2825473 –