Autor Zpráva
lopikol
Profil
Mám tento kod a budu vděčný, když mi do něj někdo doplní kod, který zajístí, že se za doplněný text přidá kurzor, tak abych mohl ihned psát a nemusel klikat myší do textarey.

  $("a.react").click(function(){
    var nick = $(this).attr("data-nick");
    var textarea = "textarea[name=text]"
    var value = $(textarea).val();
     
    if(value) {
      $(textarea).val(value + "\n\n@" + nick + ":");
    }else{
       $(textarea).val("@" + nick + ":");
    } 
  }); 
Kcko
Profil
$(textarea).focus();
lopikol
Profil
Kcko:
Zkusil jsem, ale nijak to nepomohlo.
CreebyCZ
Profil
Budeš potřebovat tyto funkce:

function setSelectionRange(input, selectionStart, selectionEnd) 
{
  if (input.setSelectionRange) {
    input.focus();
    input.setSelectionRange(selectionStart, selectionEnd);
  }
  else if (input.createTextRange) {
    var range = input.createTextRange();
    range.collapse(true);
    range.moveEnd('character', selectionEnd);
    range.moveStart('character', selectionStart);
    range.select();
  }
}

function setCaretToPos (input, pos) {
  setSelectionRange(input, pos, pos);
}

Kurzor umístíš na konec vloženého textu takto:

$("a.react").click(function(){
    var nick = $(this).attr("data-nick");
    var textarea = "textarea[name=text]"
    var value = $(textarea).val();
     
    if(value) {
      $(textarea).val(value + "\n\n@" + nick + ":");
    }else{
       $(textarea).val("@" + nick + ":");
    } 

    setCaretToPos($(textarea), $(textarea).val().length);
  }); 

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: