Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.04.2017, 11:16
Новичок на форуме
Отправить личное сообщение для evgeniy2 Посмотреть профиль Найти все сообщения от evgeniy2
 
Регистрация: 27.04.2017
Сообщений: 6

Глюки с экранированием бэкслеша в JavaScript
Прошу удалить тему. Источник бага был совсем не в этом.

Последний раз редактировалось evgeniy2, 27.04.2017 в 14:27.
Ответить с цитированием
  #2 (permalink)  
Старый 27.04.2017, 11:41
Новичок на форуме
Отправить личное сообщение для evgeniy2 Посмотреть профиль Найти все сообщения от evgeniy2
 
Регистрация: 27.04.2017
Сообщений: 6

function str_insert( str, ta ) //ta = textarea
{
  ta.focus();
  
  if( typeof(ta.selectionStart) != "undefined" )
  {
    var start = ta.selectionStart;
    var end = ta.selectionEnd;
    var slen = end-start; 
    var scrollTop = ta.scrollTop;

    var rs = (ta.value.substr(start, slen)) + str;
    ta.value = ta.value.substr(0,start) + rs + ta.value.substr(end);
    
    ta.setSelectionRange(start+rs.length, start+rs.length);
        
    ta.scrollTop = scrollTop;
    ta.focus();
  }
}


upd:
Глюк наблюдается в Chrome, а firefox нет.

Похоже, глюк никак не связан с бэкслешем. Оказывается, строка вставляется в то место, где курсор был до его смещения влево Backspace`ом. Видимо, Хром не обновляет позицию курсора, если он смещается Backspace`ом

Действительно есть такой глюк или это у меня где-то ошибка?

Последний раз редактировалось evgeniy2, 27.04.2017 в 13:07.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34