Selection right-click in table

by Bruno G.

HTML

<p>Suspendisse viverra metus ut nibh faucibus, quis luctus purus consectetur. Duis sed lorem risus. Quisque varius augue in urna fermentum pretium. Nulla ac dapibus mi, nec tempor nibh. Aliquam porttitor purus quis massa imperdiet dapibus. Proin sodales ultrices tempor.</p>
<table border="1">
    <tr>
        <td>Lorem <b>ipsum dolor</b> sit amet</td>
        <td>Nunc justo nibh, venenatis</td>
        <td>Ut id convallis enim, luctus</td>
        <td><a href="#">O</a>

        </td>
    </tr>
    <tr>
        <td>Donec ultrices eros tellus</td>
        <td>Fusce nec ligula at arcu gravida</td>
        <td>Vestibulum dictum bibendum</td>
        <td><a href="#">O</a>

        </td>
    </tr>
    <tr>
        <td>Nunc tincidunt tincidunt</td>
        <td>Nullam malesuada risus</td>
        <td>Donec egestas eros vitae nibh</td>
        <td><a href="#">O</a>

        </td>
    </tr>
</table>
<p>Curae; Pellentesque vulputate felis sit amet nunc sagittis viverra. Fusce porta sollicitudin velit eget ultricies. Cras vestibulum cursus efficitur.</p>

JavaScript

$('td').mouseup(function () {
    var s = getSelectedText();
    if (s != '') {
        $(this).data('text', s);
    }
});

$('a').click(function () {
    var e = $(this).closest('td').siblings().filter(function(){
        return $(this).data('text') !== undefined;
    });
    alert(e.length);
});

function getSelectedText() {
    if (window.getSelection) {
        return window.getSelection().toString();
    } else if (document.selection) {
        return document.selection.createRange().text;
    }
    return '';
}