Ik kwam deze code tegen waarmee je bij copy/pasteacties boven de 30 tekens een extra tekst mee kan geven aan de copy-paste, met bijvoorbeeld een copyright tekst. Erg handig, vriendelijk en niet hinderlijk.

Maar ik vraag mij af of dit nog netter kan?


$("body").bind('copy', function (e) {
    var body_element = document.getElementsByTagName('body')[0];
    var selection = window.getSelection();

    //if the selection is short let's not annoy our users
    if (("" + selection).length < 30) return;

    //create a div outside of the visible area
    var newdiv = document.createElement('div');
    newdiv.style.position = 'absolute';
    newdiv.style.left = '-99999px';
    body_element.appendChild(newdiv);
    newdiv.appendChild(selection.getRangeAt(0).cloneContents());

    //we need a < pre> tag workaround
    //otherwise the text inside "pre" loses all the line breaks!
    
    if (selection.getRangeAt(0).commonAncestorContainer.nodeName == "PRE") {}

    newdiv.innerHTML += "

Lees hier meer: <a href='"
        + document.location.href + "'>"
        + document.location.href + "</a> Copyright: Bladiebla.nl";

    selection.selectAllChildren(newdiv);
    window.setTimeout(function () { body_element.removeChild(newdiv); }, 200);
});
Ja, dankjewel voor de tip! :-)

Reageren