Можно ли получить выделенный текст в абзаце веб-сайта, например, с помощью jQuery?

Получение текста, выбранного пользователем, относительно просто. Привлечение jQuery не принесет никакой пользы, поскольку вам ничего не нужно, кроме window и document Вы можете использовать чистый Node.js и отлаживать приложение в консоли, если хотите.

function getSelectionText() {
    var text = "";
    if (window.getSelection) {
        text = window.getSelection().toString();
    } else if (document.selection && document.selection.type != "Control") {
        text = document.selection.createRange().text;
    }
    return text;
}

Если вы заинтересованы в реализации, которая также будет заниматься выборами в <textarea> и texty <input>, вы можете использовать следующее. Поскольку сейчас 2016, я опускаю код, необходимый для поддержки IE & Lt ; = 8, но я опубликовал материал для этого во многих местах на SO.

function getSelectionText() {
    var text = "";
    var activeEl = document.activeElement;
    var activeElTagName = activeEl ? activeEl.tagName.toLowerCase() : null;
    if (
      (activeElTagName == "textarea") || (activeElTagName == "input" &&
      /^(?:text|search|password|tel|url)$/i.test(activeEl.type)) &&
      (typeof activeEl.selectionStart == "number")
    ) {
        text = activeEl.value.slice(activeEl.selectionStart, activeEl.selectionEnd);
    } else if (window.getSelection) {
        text = window.getSelection().toString();
    }
    return text;
}

document.onmouseup = document.onkeyup = document.onselectionchange = function() {
  document.getElementById("sel").value = getSelectionText();
};
Selection:
<br>
<textarea id="sel" rows="3" cols="50"></textarea>
<p>Please select some text.</p>
<input value="Some text in a text input">
<br>
<input type="search" value="Some text in a search input">
<br>
<input type="tel" value="4872349749823">
<br>
<textarea>Some text in a textarea</textarea>

эти события взаимодействия:

window.getSelection().toString()

и, конечно, специальная обработка для:

document.selection.createRange().htmlText

Это решение работает, если вы используете Chrome (не можете проверить другие браузеры) и если текст находится в том же элементе DOM:

window.getSelection().anchorNode.textContent.substring(
  window.getSelection().extentOffset, 
  window.getSelection().anchorOffset)

(я не спрашиваю о by на самом деле надежный признак намерения, поскольку он неотличим от тех случаев, когда вы 27 июня ’13 в 14:53

Спасибо за ваш интерес к этому вопросу. Поскольку он привлек некачественные ответы или ответы на спам, которые необходимо было удалить, публикация ответа теперь требует 10 http://www.cs.tut.fi/~jkorpela/www/revsol.html : не работает в Internet Explorer & lt ; 11, если Бонус за ассоциацию не учитывается ).

. Вы хотите ответить на один из этих неотвеченные вопросы вместо этого?