Выделение содержимого div по клику на него + копирование на jQuery
Начну сразу с того, где это может вам пригодиться. Например, на своем сайте вы выкладываете статьи, где частью из них является материал, который пользователь может скачать для себя. Пример – мой сайт. Ниже я представляю код, который вы можете использовать в своих целях.
С помощью следующего скрипта вы сможете реализовать у себя данный функционал.
Непосредственно сам скрипт:
<script>
function selectText(elementId) {
var doc = document,
text = doc.getElementById(elementId), range, selection;
if(doc.body.createTextRange) {
range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if(window.getSelection) {
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
}
}
$("#content").click(function() {
selectText(this.id);
document.execCommand("copy");
});
</script>
Код вставляйте перед закрывающим тегом </body>.
Ваш контент, которому необходимо подключить данный функционал, оберните в:
<div id="content">Ваш текст</div>
Данный скрипт включает в себя автовыделение содержания всего блока + его копирование. Если вы не хотите, чтобы было автоматическое копирование, а только его выделение – удалите из скрипта эту строку:
document.execCommand("copy");
Удачных вам разработок!