Выделение абзаца одним кликом

N
На сайте с 12.06.2011
Offline
100
533

Друзья, подскажите нубу, как реализовать возможность выделять абзацы одним кликом?

Вот увидел на этом сайте http://pozdravok.ru/pozdravleniya/imena/andrey/ - хочу так же сделать для своего сайта с поздравлениями.

Заранее всем спасибо )

Альтерантива РСЯ и AdSense: https://clck.ru/eMnmY
nikonlay
На сайте с 11.12.2006
Offline
191
#1

насколько я нашел, вот эта часть кода это делает:

var rng = document.body.createTextRange(); if (target.innerHTML.indexOf(copy_sp.innerHTML)===-1) target.appendChild(copy_sp); rng.moveToElementText( rng.selectNode( target ) ); rng.select();
Мощные фонари и телескоп: https://market.yandex.ru/business/79203856
N
На сайте с 12.06.2011
Offline
100
#2
nikonlay:
насколько я нашел, вот эта часть кода это делает:

var rng = document.body.createTextRange(); if (target.innerHTML.indexOf(copy_sp.innerHTML)===-1) target.appendChild(copy_sp); rng.moveToElementText( rng.selectNode( target ) ); rng.select();

В каком месте вы увидели этот код? Не могу найти его...

---------- Добавлено 24.10.2014 в 00:40 ----------

Вот нашел код, но не пойму куда его вставить )

$('code').on('click',function() {//Вешаем на клик

var rng, sel;

if ( document.createRange ) {//Не все браузеры поддерживают createRange

rng = document.createRange();//создаем объект область

rng.selectNode( this )//выберем текущий узел

sel = window.getSelection();//Получаем объект текущее выделение

var strSel = ''+sel; //Преобразуем в строку (ох уж js...)

if (!strSel.length) { //Если ничего не выделено

sel.removeAllRanges();//Очистим все выделения (на всякий случай)

sel.addRange( rng ); //Выделим текущий узел

}

} else {//Если браузер не поддерживает createRange (IE<9, например)

//Выделяем таким образом, уже без всяких проверок

var rng = document.body.createTextRange();

rng.moveToElementText( this );

rng.select();

}

});

S
На сайте с 13.10.2014
Offline
171
#3

$('code') поменяйте на $('p') и он будет срабатывать по клику на любой абзац на вашей странице

N
На сайте с 12.06.2011
Offline
100
#4
silicoid:
$('code') поменяйте на $('p') и он будет срабатывать по клику на любой абзац на вашей странице

Спасибо, но я не понял, куда именно нужно вставлять этот код.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий