I am able to grab the text that a user has selected on a web page,
using this code:
function getSelected() {
var userSelection;
if (window.getSelection) {
selection = window.getSelection();
} else if (document.selection) {
selection = document.selection.createRange();
}
}
is it posible for me to get the words around the
selected word.
Take these sentences for example: “If you need to
framglubble the zartbox, then you should buy the red widget.
Otherwise you can buy the blue widget and save some money.”
My code will tell me if the person has selected the word “widget”.
But I’d like to know if the selection is after “red” or “blue”. Is
this possible? I’ve been scouring the Internet for some advice, and
I’m having trouble finding an answer.
thank you for your help
I have written quick script that can identify the part before selection and after selection inside the same DIV element.
However if the same DIV contains the same word more than one time and you select only that word, the current code I wrote can’t identify if it’s the first or second selected word so bottom line it will not answer your needs.
Anyway, you can see/copy/test the code here: http://jsfiddle.net/kvHxJ/ just select something and see the alert that appears.
If it’s enough for your needs after all then great, accept this answer and move on… otherwise I need to know: can we assume the user will select whole words only, one word only? If the answer is yes I do have idea how to go around this.