Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Javascript - jak vložit kurzoru na pozicy x,y ?

Ahoj, poradí někdo jak mám vložit kurzor na určitou pozici v elementu textarea za pomcí čistého JS?

Zkoušel jsem co jsem našel, ale dostanu chybu
Uncaught TypeError: Cannot read property 'val' of undefined


const el = document.getElementById('textarea');
el.focus().val('stuff').selectRange(10,10);

Díky za případnou radu.

Předmět Autor Datum
el.focus() nevrací žádnou hodnotu, takže hlášení je správně. Uplatni každou z metod focus(), val() a…
hynajs 15.02.2020 09:16
hynajs
Výsledek je stejný. Nevím ale, jestli tvou radu chápu správně, mám to takto: const el = document.g…
adbam 15.02.2020 12:21
adbam
A má tag textarea id rovno "textarea" ? Metodou getElementById definuješ element podle id, nikoli dl…
hynajs 15.02.2020 14:18
hynajs
Ano, přesně tak to mám - jak píšeš. Opravdu jsou ty funkce pro pure js? Nejsou pro nějakou verzi jqu…
adbam 15.02.2020 14:26
adbam
Místo selectRange zkus setSelectionRange.
Wikan 15.02.2020 14:29
Wikan
Podle toho co se tady píše, tak funkce ale kurzor nenastavuje setSelectionRange
adbam 15.02.2020 15:37
adbam
Aha, to jsem přehlédnul, omlouvám se el.value='stuff'; el.setSelectionRange(10,10);…
hynajs 15.02.2020 14:31
hynajs
Podívej, tenhle kód mi chodí: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Selectio…
hynajs 15.02.2020 16:13
hynajs
Vyzkouším to večer. Dík poslední
adbam 15.02.2020 18:32
adbam

Podívej, tenhle kód mi chodí:


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Selection</title>
</head>

<body>
<textarea id="textarea">
</textarea>
<script>
const el = document.getElementById('textarea');
el.focus();
el.value='stuffstuffstuffstuffstuffstuffstuffstuffstuffstuffstuffstuffstuffstuffstuff';
el.setSelectionRange(10,15);
</script>
</body>

</html>

Prostuduj si (mazáním a přidáváním řádků, obměnou hodnot do el.setSelectionRange(10,15);), co která metoda způsobí.

Zpět do poradny Odpovědět na původní otázku Nahoru