этот код корректно работает?(проверить не смогу сегодня, ибо баиньки)
я пока добился того, что каретка в конец магнитится теперь. всё бы ничего, но текст в середине не исправить.
п.с. Gavno = true; - воодушевляет))
ппс Пока не лёг. вот что у мя пока есть:
$.fn.focusEnd = function() {
$(this).focus();
var tmp = $('<span />').appendTo($(this)),
node = tmp.get(0),
range = null,
sel = null;
if (document.selection) {
range = document.body.createTextRange();
range.moveToElementText(node);
range.select();
} else if (window.getSelection) {
range = document.createRange();
range.selectNode(node);
sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}
tmp.remove();
return this;
}
$(function(){
var content_textarea = $('#content_textarea');
var textarea_form = $('#textarea_form');
content_textarea.keyup(function(){
textarea_form.html(content_textarea.text());
var string = textarea_form.html();
string = string.replace(/(".*?"|'.*?')/g, '<span class="green">$1</span>') // замена всех строк, обернутых в одинарные и двойные кавычки
.replace(/(<[a-z]+)(.*?)(\s*\/?>)/gi, '<span class="blue">$1</span>$2<span class="blue">$3</span>') // обработка HTML-тегов
.replace(/(<\/?[a-z]+>)/gi, '<span class="blue">$1</span>'); // обработка HTML-тегов (закрывающих)
content_textarea.html(string).focusEnd;
});
});