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`ом
Действительно есть такой глюк или это у меня где-то ошибка?