Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передвижение курсора
 
 автор: Кирилл   (25.11.2005 в 21:33)   письмо автору
 
 

У меня такой вопрос:
Как сделать чтобы при нажатии на кнопку в поле textarea курсор передвигался на n-ое количество символов назад.

   
 
 автор: 12345   (25.11.2005 в 21:43)   письмо автору
 
   для: Кирилл   (25.11.2005 в 21:33)
 

Манипуляции с TextRange

   
 
 автор: Кирилл   (25.11.2005 в 21:52)   письмо автору
 
   для: 12345   (25.11.2005 в 21:43)
 

А можно поподробней.

   
 
 автор: 12345   (25.11.2005 в 22:03)   письмо автору
 
   для: Кирилл   (25.11.2005 в 21:52)
 

http://xlibscripts.land.ru/jscript_doc/JavaScript/TextRange.html
Пример - http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=8148&page=1

   
 
 автор: Кирилл   (25.11.2005 в 23:08)   письмо автору
 
   для: 12345   (25.11.2005 в 22:03)
 

Толи я ничего не понимаю, толи я очень дуплю но никак не могу сообразить как работает TextRange. Если не трудно можете привести конкретный скрипт.

   
 
 автор: 12345   (26.11.2005 в 01:31)   письмо автору
 
   для: Кирилл   (25.11.2005 в 23:08)
 

Это не слишком очевидная вещь, так что нормально. Поставим такую задачу: на базе написанного скрипта двигать курсор от центра текста внешними кнопками. Слегка модифицируем код, и получается, что он при клике на поле ввода выделяет центр, а при клике на кнопках сдвигается от центра.
<input id=i value=1234567890 onClick=f()> фокусы для IE<br>
<input type=button value=-5> <input type=button value=-2>
 <input type=button value=-1> <input type=button value=+2>
 <input type=button value=+5>  Кнопки сдвига относительно центра на N позиций<br>
<script>d=document;ch='character';
d.onclick=function(){if((se=event.srcElement).tagName=="INPUT"&&se.id!='i'){
        var j=eval('0'+se.value); //величина сдвига
        t=d.all.i.createTextRange(); //t занимает всю строку
        t.collapse(); //t в начале строки
        t.move(ch,d.all.i.value.length/2+j); //t перемещён
        t.select(); //визуализируем
}}
function f(){t=d.all.i.createTextRange();
    t.moveStart(ch,d.all.i.value.length/2-1);
    t.moveEnd(ch,-d.all.i.value.length/2+1); //края t заняли середину текста
    t.select();}
</script>
Работает в IE; Опера с 8-й, что ли, версии поддерживает, для FF нужно использовать Range и не d.all .

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования