<p onmouseup="zaznaczenie_element()">Lorem ipsum dolor sit amet, consectetaur 
adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>

function zaznaczenie_element() {
    var zakres = document.selection.createRange();
    var nowyHTML = "<span class='nowySpan'>" + zakres.text + "</span>";
    zakres.pasteHTML(nowyHTML);
}

---------

// zmienna globalne
var poczatekZaznaczenia;

// funkcja wyzwalana przez zdarzenie onselectstart
function zapiszPoczatek() {
    poczatekZaznaczenia = event.srcElement;
}
// funkcja wyzwalana przez zdarzenie onmouseup
function zaznaczenie_element() {
    if (event.srcElement == selectionStart) {
        var zakres = document.selection.createRange();
        var nowyHTML = "<span class='nowySpan'>" + zakres.text + "</span>";
        zakres.pasteHTML(nowyHTML);
    } else {
        alert("Prosz ograniczy zaznaczenie tekstu do pojedynczego akapitu.");
    }
}
