Hai
Ik wil de grootte van een textarea aan laten passen op de inhoud van de tekst. Dit lukt al prima, alleen er is 1 probleem.
Als ik onkeydown gebruik pakt hij de enter en de delete knop enzo wel, maar dan voert hij mijn functie uit voordat de functie van de toets zelf (dus verwijderen of een enter toevoegen) uitvoert. Hierdoor werkt de entertoets en de deletetoets niet goed; hij heeft bijvoorbeeld nog alle tekst erinstaan terwijl de bedoeling is dat hij de functie uitvoert nadat alles verwijderd is.
Wat ik nodig heb is dus de onkeyup functie, maar die pakt de enter en delete toets enzo dus niet.
Hoe kan dit wel?
Ik wil de grootte van een textarea aan laten passen op de inhoud van de tekst. Dit lukt al prima, alleen er is 1 probleem.
Als ik onkeydown gebruik pakt hij de enter en de delete knop enzo wel, maar dan voert hij mijn functie uit voordat de functie van de toets zelf (dus verwijderen of een enter toevoegen) uitvoert. Hierdoor werkt de entertoets en de deletetoets niet goed; hij heeft bijvoorbeeld nog alle tekst erinstaan terwijl de bedoeling is dat hij de functie uitvoert nadat alles verwijderd is.
Wat ik nodig heb is dus de onkeyup functie, maar die pakt de enter en delete toets enzo dus niet.
Hoe kan dit wel?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <html>
<script>
var prev_height = -1;
function change_size(e, obj)
{
document.title = obj.innerText;
if (obj.scrollHeight < obj.style.height.replace("px", "")) { obj.style.height = 10; }
tmp = obj.scrollHeight;
if (e.keyCode == 10 || e.keyCode == 13)
obj.style.height = obj.scrollHeight + 20;
else
obj.style.height = obj.scrollHeight + 4;
prev_height = obj.scrollHeight;
}
</script>
<body>
<textarea id="tekst" style="width:500px; height:100px;" onkeydown="change_size(event, this);"></textarea>
</body>
</html> |