Jeu de sélection par plage en Javascript
Je veux sélectionner du texte par l'envoi d'emplacement/anchorOffset et la longueur/offset à l'aide de Javascript Voici mon code
var node = document.getElementById("content");
var range = document.createRange();
range.setStart(node, 0);
range.setEnd(node, 4); //here 0 and 4 is my location and length for the selection
//if my string is "This is test string" in my case its must select "This"
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
Mais le problème réside dans la gamme.setStart et de la plage.setEnd sa ne fonctionne pas comme je m'attends à
Je l'utilise dans mon application IOS.Fonction restants sont marche bien mais le problème est qu'avec setStart et setEnd les deux ne sont pas de travail
Mauvais sens.
Merci @TimDown. Je regardais
Mauvais sens.
document.createRange()
est la norme, pris en charge par tout sauf IE <= 8.Merci @TimDown. Je regardais
selection.createRange
.OriginalL'auteur Shinning River | 2013-07-16
Vous devez vous connecter pour publier un commentaire.
La
setStart()
etsetEnd()
méthodes de DOM Gamme sont bien définis, de sorte que vous pourrait trouver la réponse en lisant la spec ou MDN.Pour résumer, si vous souhaitez spécifier une plage de limite en termes de caractère décalages, vous devez traiter avec un nœud de texte plutôt que d'un élément. Si votre élément ne contient qu'un seul nœud de texte, modification de la première ligne de votre code de la manière suivante:
Ensuite, vous aurez besoin d'un plus compliqué solution, comme stackoverflow.com/a/13950376/96100
OriginalL'auteur Tim Down
Voici une bonne solution si vous essayez de sélectionner un jquery ensemble de résultats
OriginalL'auteur Charlie