Reputation: 5858
I am trying to implement auto sized text field based on the solution from this question
<input style="width:20px;" onkeypress="this.style.width = ((this.value.length + 1) * 5) + 'px';" ng-model="questionButtons[$index].title" type="text" class="edt_spn active" >
it works fine however when the user deletes characters width is not adjusting
<input style="width:20px;" onkeypress="this.style.width = ((this.value.length + 1) * 5) + 'px';" ng-model="questionButtons[$index].title" type="text" class="edt_spn active" >
Upvotes: 0
Views: 183
Reputation: 4650
I think that the best variant is to use oninput
event.
From MDN:
The DOM input event is fired synchronously when the value of an <input>, <select>, or <textarea> element is changed.
<input style="width:20px;" oninput="this.style.width = ((this.value.length + 1) * 5) + 'px';" ng-model="questionButtons[$index].title" type="text" class="edt_spn active" >
Upvotes: 0
Reputation: 1369
Try onkeyup event.
<input style="width:20px;" onkeyup="this.style.width = ((this.value.length + 1) * 5) + 'px';console.log(this.value.length);" ng-model="questionButtons[$index].title" type="text" class="edt_spn active" >
Upvotes: 1