JSFiddle - React, Tailwind, and code Playground
by timdown
HTML
<input type="button" onmousedown="alert(getSelectionRangeText())" value="get selected text">
<div onmouseup="alert(getSelectionRangeText())">
<img src="someSrc.jpg" alt="image_alt" /> My text here ...
</div>
JavaScript
function getSelectionRangeText() {
var selText = "";
if (window.getSelection) {
var sel = window.getSelection(), rangeCount = sel.rangeCount;
if (rangeCount) {
for (var i = 0, rangeTexts = []; i < rangeCount; ++i) {
rangeTexts.push("" + sel.getRangeAt(i));
}
selText = rangeTexts.join("");
}
} else if (document.selection && document.selection.type == "Text") {
selText = document.selection.createRange().text;
}
return selText;
}