Просмотр поста

.
ramzes

venom, я вырезать не буду.
вот в общем моя функция, она на андроиде отлично работает, и каретка положение не теряет и фокус после вставки возвращает на положенное место

function past(text1, text2){

    var elrms = document.getElementsByTagName('textarea');
    if(elrms.length > 1){
        var curr = 0;
        for(i=0; i<elrms.length; i++){
            if(document.getElementsByTagName('textarea')[i].selectionEnd > 0){
                curr = i;
            }
        }
    }else{
        curr = 0;
    }

    var Textarea = document.getElementsByTagName('textarea')[curr];
    var rangeStart = Textarea.selectionStart;
    var rangeEnd = Textarea.selectionEnd;
    var formText = Textarea.value;
    var selectionLenght = rangeEnd - rangeStart;
    if(text2!=' ' && text2!=''){
        var newText = formText.substr(0, rangeStart)+text1+formText.substr(rangeStart, selectionLenght)+text2+formText.substr(rangeStart + selectionLenght);
    }else{
        var newText = formText.substr(0, rangeEnd)+text1+text2+formText.substr(rangeEnd);
    }
    Textarea.value = newText;
    if(text2.length > 1 && selectionLenght == 0){
        var moveRange = rangeStart+text1.length+selectionLenght;
    }else{
        var moveRange = rangeEnd+text1.length+text2.length;
    }
    Textarea.setSelectionRange(moveRange, moveRange);
    closepopup();
}

посмотри, может что высмотришь