I am trying to get selection text on HTML page.
I use below code, and window.getSelection()
on textarea seams not work in firefox,
but works fine in Google Chrome.
Here is a sample: http://jsfiddle.net/AVLCY/
HTML:
<div>Text in div</div>
<textarea>Hello textarea</textarea>
<div id='debug'></div>
JS:
$(document).on('mouseup','body',function(){
$("#debug").html("You select '" + getSelectionText() + "'");
});
function getSelectionText() {
if (window.getSelection) {
try {
// return "" in firefox
return window.getSelection().toString();
} catch (e) {
console.log('Cant get selection text')
}
}
// For IE
if (document.selection && document.selection.type != "Control") {
return document.selection.createRange().text;
}
}
It appears getSelection
does not work on text selected in form fields due to this Firefox bug.
As explained in this answer, the workaround is to use selectionStart
and selectionEnd
instead.
Here is a modified example that works correctly:
http://jsfiddle.net/AVLCY/1/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With