JSFiddle - React, Tailwind, and code Playground
by magicaj
HTML
<div>adam@<wbr>test.<wbr />com</div>
JavaScript
$(document).on('copy', function(e) {
var selHtml = getSelHtml();
var selection = window.getSelection ? window.getSelection() : document.selection;
if (selHtml) {
var $copyHolder = $('<div>')
.css({ position: 'absolute', left: '-99999px' })
.html(selHtml);
$copyHolder.find('wbr').remove();
$(document.body).append($copyHolder);
selection.selectAllChildren($copyHolder[0]);
window.setTimeout(function() {
$copyHolder.remove();
}, 0);
}
});
function getSelHtml() {
try {
if (window.getSelection) {
var sel = window.getSelection(), range;
if (sel.getRangeAt) {
range = sel.getRangeAt(0);
} else {
range = doc.createRange();
range.setStart(sel.anchorNode, sel.anchorOffset);
range.setEnd(sel.focusNode, sel.focusOffset);
}
return $('<div>').append(range.cloneContents()).html();
} else if (document.selection) {
return document.selection.createRange().htmlText;
}
} catch (e) {}
}