128 / 125 / 39
Регистрация: 11.04.2010
Сообщений: 255
|
||||||
1 | ||||||
Запретить перенос каретки в конец строки в textarea31.07.2012, 11:36. Показов 5735. Ответов 10
Метки нет (Все метки)
Есть скрипт, который корректирует раскладку клавиатуры (с Ru на En) внутри тегов [math][/math] в textarea во время ввода (событие OnKeyUp).
Пашет верно, только после каждого ввода русской буквы внутри [math][/math] каретка перемещается в конец строки. Возможно ли запретить перенос каретки в конец строки?
0
|
31.07.2012, 11:36 | |
Ответы с готовыми решениями:
10
Перевод каретки в конец строки Перенос каретки на начало строки Курсор в начало/конец строки у textarea и contenteditable Перенос строки в textarea |
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
|
31.07.2012, 15:36 | 2 |
Alexdemath, здесь можно работать с объектом selection ()
1. создать объект selection () 2. расширить его на один символ влево от текущего положения каретки 3. проверить текст выделенного на "кирилличность" 4. заменить текст в случае необходимости 5. снять выделение. Тогда каретка перемещаться не будет. Если не справитесь, напишите, помогу. PS. text [i] при обращении к конкретному символу строки по его индексу - некроссбраузерно. Надо пользовать метод text.charAt (i)
1
|
128 / 125 / 39
Регистрация: 11.04.2010
Сообщений: 255
|
|
31.07.2012, 16:59 [ТС] | 3 |
Спасибо. Я даже и не думал в этом направлении.
Но пока не разобрался. Если будет время, помогите доделать. Благодарю. (хотел попроще )
0
|
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
|
|
31.07.2012, 21:39 | 4 |
Запретить не получиться, нужно запомнить позицию курсора перед действием, выполнить само действие, потом вернуть курсор на своё место.
1
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
||||||
01.08.2012, 09:42 | 5 | |||||
В первом приближении:
----- Работать будет при посимвольном вводе с клавиатуры. Варианты с "залипанием" клавиши, с вводом методом "Paste" мышкой (или при помощи Ctrl+V) реализовать тоже можно. Но за отдельные деньги
1
|
128 / 125 / 39
Регистрация: 11.04.2010
Сообщений: 255
|
|
01.08.2012, 09:58 [ТС] | 6 |
Спасибо большое!
Разобрался, как добавить ещё символы. С практической точки зрения, случай копипасты можно смело отбросить. А что ещё добавить, чтобы содержимое всех тегов [math][/math] конвертировалось? А то сейчас только для первого тега скрипт срабатывает.
0
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
||||||
02.08.2012, 05:05 | 7 | |||||
Строку #12 в моём коде замените на три строки:
1
|
128 / 125 / 39
Регистрация: 11.04.2010
Сообщений: 255
|
|
02.08.2012, 18:48 [ТС] | 8 |
kalabuni, спасибо!
Пользователи Вам очень благодарны.
0
|
128 / 125 / 39
Регистрация: 11.04.2010
Сообщений: 255
|
||||||
09.10.2012, 20:13 [ТС] | 9 | |||||
kalabuni, Ваш скрипт верно корректирует, но подтормаживает при высокой скорости набора и иногда каретка "съедает" закрывающий тег.
Нашел, как получить и задать позицию каретки в textarea. Добавил эти функции к первоначальному скрипту. В Opera, Mozilla и Chrome работает, вроде бы, без глюков (во всяком случае, не заметил). В IE как всегда - если каретка на первой строке, то всё хорошо, если на последующих, то к позиции каретки прибавляется число переносов строк до данной строки после отпускания любой клавиши. Возможно ли сие побороть?
0
|
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
|
|||||||||||
09.10.2012, 21:21 | 10 | ||||||||||
попробуй эти функции
Получает имя ключа Возвращает HEX или null
1
|
128 / 125 / 39
Регистрация: 11.04.2010
Сообщений: 255
|
|
09.10.2012, 23:21 [ТС] | 11 |
newJS, спасибо за функции! Проблема решена - теперь и в IE каретка сохраняет позицию!
0
|
09.10.2012, 23:21 | |
09.10.2012, 23:21 | |
Помогаю со студенческими работами здесь
11
Перенос строки в textarea Удалить перенос строки из <textarea> Textarea не работает перенос строки Очистка окна textarea и перенос строки при отображении Запретить перенос строки в текстбоксе Как запретить перенос строки? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |