Генератор устойчивых к взлому паролей   •   Online-инструменты
2 138 просм
3 комм
Поделиться:

Выделение содержимого 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");

Удачных вам разработок!

3
комментария
Геннадий
9.06 в 16:51
Ваш скрипт не работает!
  • -3
Геннадий, с чего такие выводы?
  • -1
Александр
2.09 в 17:02
У меня несколько блоков коропировать и нет возможности присвоить уникальный id, Как поступить?
  • 0
Гостям запрещено учавствовать в обсуждениях сайта. Авторизуйтесь, чтобы иметь возможность оставить свое мнение о материале или задать вопрос.