Техническая поддержка

Объявление

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Техническая поддержка » Скрипты » Выделение кода


Выделение кода

Сообщений 1 страница 4 из 4

1

Часто бывает неудобно на форумах выделять код, эти полосы прокрутки вечно мешают и плохо крутятся =(
Данный скрипт заменяет слово Код: вверху блока с кодом, на ссылку, по клику на который выделяется все содержимое блока с кодом

Код:
<script type="text/javascript">
function select_text(elem) {
	if(window.getSelection) {   
    var s=window.getSelection();   
    if(s.setBaseAndExtent){   
    	s.setBaseAndExtent(elem,0,elem,elem.innerText.length-1);   
    }
    else {   
    	var r=document.createRange();   
    	r.selectNodeContents(elem);   
    	s.removeAllRanges();   
    	s.addRange(r);
    }   
	}
	else if(document.getSelection){   
    var s=document.getSelection();   
    var r=document.createRange();   
    r.selectNodeContents(elem);   
    s.removeAllRanges();   
    s.addRange(r);   
	}
	else if(document.selection){   
    var r=document.body.createTextRange();   
    r.moveToElementText(elem);   
    r.select();
	}   
}
</script>
<script type="text/javascript">
var div = document.getElementById('pun-main').getElementsByTagName('div');
for(x in div){
	if(div[x].className=='code-box'){
    div[x].getElementsByTagName('strong')[0].innerHTML = '<a href="#" onclick="select_text(this.parentNode.parentNode.childNodes[1].getElementsByTagName(\'pre\')[0]); return false;">Выделить код</a>';
	}
}
</script>

Для разработчиков - функция select_text( var DOM_object) принимает любой DOM объект и создает выделение в нем (если передать функции document.body то выделится вся страница)

+1

2

mkusher, отличное решение. :) Поставил здесь.

0

3

%-)   покажите пример

0

4

ааааа  ^^  поняла

0


Вы здесь » Техническая поддержка » Скрипты » Выделение кода