Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2012, 00:43
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

выделение текста
пытаюсь написать такую вещь чтоб выделеный текст при нажатие на кнопку брался в определенный тег.
я знаю что скрипт древний и используется наверно везде, но хочется написать самому.
вот в чем загвоздка при нажатие на кнопку выделение слетает .
пытался использовать
document.getElementById("text").focus();

но не помогло.
вот первые строчки моего кода
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
<script type="text/javascript">
function test(){
	 var sel=document.getSelection();
if(document.getSelection()!=""){
	
	document.getElementById("text").innerHTML=sel;
	}
	
	}
</script>
</head>

<body  >

<textarea cols="50"  rows="20"  id="text" >Недавно Google на весь мир показала свой «проект «Glass», так называемые очки дополненной реальности.

И вот, не прошло и двух недель, как разработчик из Valve Майкл Абраш в блоге компании пишет, что им тоже очень интересна такая технология. Говорит, через 20 лет «зрение Терминатора» будет стандартом для общества, а переход на новую платформу может начаться уже через 3-5 лет.

Заинтересованность Valve в разработке очков-компьютера, который Абраш называет «носимый компьютер» также может подтверждать объявления компании о поиске инженеров по электронике и комплектующим, в которых упоминают, что их целью будет разработка новых систем ввода-вывода и создание новых платформ.
</textarea>
<br>
<br/>
<a onclick="test();" href="" >start</a>
<br>
<div id="vv"></div>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2012, 00:52
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

http://forum.vingrad.ru/topic-35775.html
Ответить с цитированием
  #3 (permalink)  
Старый 15.04.2012, 00:59
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

щас почитаю
Ответить с цитированием
  #4 (permalink)  
Старый 15.04.2012, 01:07
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

мне кажется или статья "немного" устарела?=)
Дата 27.11.2004, 18:58
Ответить с цитированием
  #5 (permalink)  
Старый 15.04.2012, 01:13
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Да ничего не поменялось, разве что IE9+ стал поддерживать Selection и Range, наряду со своим TextRange
Ответить с цитированием
  #6 (permalink)  
Старый 15.04.2012, 01:15
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

уже понял=)
потихоньку разбираю код
Ответить с цитированием
  #7 (permalink)  
Старый 15.04.2012, 02:01
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

я так понял чтоб запомнить позицию запоминается положение курсора и скрола?
Ответить с цитированием
  #8 (permalink)  
Старый 15.04.2012, 12:57
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Минимальный код такой:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>…</title>
</head>
<body>
	<button id="btn-bold">B</button>
	<button id="btn-italic">I</button>
	<div>
		<textarea id="text-editor" rows="5" cols="40">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</textarea>
	</div>
<script>
function insertTag(tagOpen, tagClose) {
	var textEditor = document.getElementById("text-editor"),
		selStart, selEnd, text, range;
	if ("selectionStart" in textEditor) {
		selStart = textEditor.selectionStart;
		selEnd = textEditor.selectionEnd;
		text = textEditor.value;
		textEditor.value = text.slice(0, selStart) + tagOpen + text.slice(selStart, selEnd) + tagClose + text.slice(selEnd);
	}
	else if ("selection" in document) { //для IE
		textEditor.focus();
		range = document.selection.createRange();
		range.text = tagOpen + range.text + tagClose;
	}
}

document.getElementById("btn-bold").onclick = function () {
	insertTag("<b>", "</b>");
};

document.getElementById("btn-italic").onclick = function () {
	insertTag("<i>", "</i>");
};
</script>
</body>
</html>

Последний раз редактировалось Octane, 16.04.2012 в 01:13.
Ответить с цитированием
  #9 (permalink)  
Старый 15.04.2012, 23:55
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

спс.
П.с самое смешное что изначально шел в этом направление как вы показали но потом статья одного кретина одна статья меня запутала и все=(
Ответить с цитированием
  #10 (permalink)  
Старый 16.04.2012, 00:11
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

что значит строка
"selectionStart" in textEditor
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выделение текста в input'e z700i Общие вопросы Javascript 1 27.10.2010 21:57
Выделение текста в textarea Slawaq Events/DOM/Window 1 27.08.2010 13:38
Выделение текста в текстовом поле. Как снять выделение с пробела вконце? Roman Koff Events/DOM/Window 10 01.07.2010 16:48
Выделение текста при использовании слайдера x00xer Firefox/Mozilla 8 29.09.2009 07:45
кросс-браузерное выделение текста evgen28 Общие вопросы Javascript 4 28.04.2009 16:38