user374343
user374343

Reputation:

Storing Highlighted text in a variable

Is there a javascript function that will allow me to capture the text that is currently highlighted with the cursor and store it in a variable? I've been trying document.selection.createRange().text but this hasn't been working. Are there any possible alternatives? Here's the code:

function moremagic(){
var output = document.selection.createRange();
alert("I Work!");}

When I run the function, it doesn't make it to the write statement so I know something is wrong.

Upvotes: 1

Views: 2063

Answers (3)

Tim Down
Tim Down

Reputation: 324627

function getSelectedText() {
    if (window.getSelection) {
        return "" + window.getSelection();
    } else if (document.selection && document.selection.type == "Text") {
        return document.selection.createRange().text;
    }
    return "";
}

Upvotes: 0

Organiccat
Organiccat

Reputation: 5651

Ungraciously stolen from another question:

function getSelectedText() {
    if (window.getSelection) {
        return window.getSelection();
    }
    else if (document.selection) {
        return document.selection.createRange().text;
    }
    return '';
}

Use this in a "onClick" function or whatever and it will return the selected text in almost any browser.

Upvotes: 1

oldestlivingboy
oldestlivingboy

Reputation: 2994

Yep, you want window.getSelection.

Upvotes: 0

Related Questions