| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Вывод символов, которых нет на клавиатуре |
| Автор: krasgames 27.3.2010, 07:55 |
| Задача такая: есть текстовое поле, куда вводится некоторый текст. Вдруг возникла необходимость добавить букву греческого алфавита. Нужно сделать панель кнопок типа электронная клавиатура, чтобы при нажатии на визуальный греческий символ в текст, где последний раз был курсор, добавлялась греческая буква. Алгоритм я вобще не понимаю. Начнем с того, что самое заумное, что я знаю по этому поводу, это то, что каждой букве присвоена некоторая последовательность чисел, набрав которую в зажатием какой-то клавиши в виндовс можно получить желаемый символ, даже если его нет на клавиатуре. А в html тоже существует какое-то правописание символов. |
| Автор: bars80080 27.3.2010, 10:48 |
| а что тут заумного? 24 кнопки, все имеют обработчик, к примеру для /дельта/ onclick="insertSimbol('greece', 3);" который из массива для греческого языка выбирает 3-ый символ, то есть его utf-8 номер, и вставляет в нужное место, как в любой форме с биби-кодами |
| Автор: krasgames 27.3.2010, 14:07 |
| Я вставил рядом с окном текста <a href="javascript:void(0);" onclick="insertSimbol('greece', 3);">Дельта</a>. В браузере тыкнул на окно, а потом на кнопку, не получилось. Ну для меня это нормально=) А что значит void? |
| Автор: krasgames 27.3.2010, 16:12 |
| Если я не накосячил, то предлагайте еще варианты. Вообще я пишу это в tpl файлах, где <script> ставится в {literal} (а почему?). Может тут как-то иначе надо мутить? |
| Автор: ksnk 27.3.2010, 16:29 |
| http://forum.dklab.ru/viewtopic.php?t=21855 не спасет? |
| Автор: bars80080 27.3.2010, 18:11 |
| у меня такое смутное подозрение, что insertSimbol вы не описали. в том смысле, что вам ещё придётся её придумать |
| Автор: krasgames 28.3.2010, 16:23 |
| А ну да. А как ее придумать) ksnk, да я хочу сам написать. |
| Автор: bars80080 28.3.2010, 16:28 |
так, флаг в руки. продумать структуру и работу. не сложно же предположить, что нужно иметь набор этих кодов (массив), потом научиться вставлять по нажатию кнопки нужное значение массива в поле. а потом найти способ, как же вставлять его на место курсора. что из этого не получается, а что уже сделано? |
| Автор: krasgames 28.3.2010, 16:52 |
| Второе и третье не плучается=) |
| Автор: bars80080 28.3.2010, 16:55 |
| а что не получается? как выглядит код? что он делает не так/не делает так как надо? |
| Автор: krasgames 29.3.2010, 06:56 |
| Он не появляется у меня в голове и все и написать его не могу. Нада первый уровень ответа из закрепленного поста про то, как надо зажавать вопросы, хотя поиском я умею пользоваться=) |
| Автор: EmilRegis 29.3.2010, 14:01 |
| когда я писал вирт клавиатуру, то делал следующим образом... 1. Текстовое поле - событие onfocus - в глобальную переменную запоминается id этого поля 2. Рисовал виртуальную клавиатуру - у меня был массив, содержащий значения символов ("\u0446"-соответствует ц, "\u0443" - соответствует у)...Так же определяете коды необходимых вам символов и составляете из них массив 3. Далее в цикле из этого массива формируется список кнопок, при этом на каждую кнопку вешается функция, которая при тынце принимает код этого символа 4. Эта функция по запомненному нами ранее id получает текстовое поле, куда надо вставить и добавляет туда этот символ |