JSFiddle - React, Tailwind, and code Playground
by Anirudh Tewathia
HTML
<div id="replytekst">
<p>Some text containing <b>HTML</b>, and this div is the only one where we can copy som text from</p>
</div>
<div id="tekst2">
<p>This is another div tag, and then text in this div must not be copied</p>
</div>
<p>
<a href="#" id="test">Citér</a>
</p>
JavaScript
function getHTMLOfSelection(argNode) {
var range;
if (document.selection && document.selection.createRange) {
range = document.selection.createRange();
if (argNode.innerHTML.indexOf(range.htmlText) !== -1) {
return range.htmlText;
} else {
return '';
}
} else if (window.getSelection) {
var selection = window.getSelection();
if (selection.rangeCount > 0) {
range = selection.getRangeAt(0);
var clonedSelection = range.cloneContents();
var div = document.createElement('div');
div.appendChild(clonedSelection);
if (argNode.innerHTML.indexOf(div.innerHTML) !== -1) {
return div.innerHTML;
} else {
return '';
}
} else {
return '';
}
} else {
return '';
}
}
$(document).ready(function() {
$("#test").click(function() {
var kopitekst = document.getElementById("replytekst");
var kopitjek = getHTMLOfSelection(kopitekst);
if (kopitjek == '') {
alert("Please select some content");
} else {
alert(kopitjek);
}
});
});