Cześć!
Tworzę stronę na której są trzy elementy <div class="els"></div> z inputami. Chcę uzyskać efekt taki, że kiedy użytkownik uzupełnia te elementy, przeskakując do następnych tabulatorem, to w momencie kiedy użytkownik jest na ostatnim elemencie i wciska Tab tworzy się nowy element z inputem, który od razu otrzymuje focus.
Niżej zamieszczam kod HTML i JS.
Bardzo proszę o jakieś pomysły jak to dobrze rozwiązać
Z góry dziękuję za każdą wskazówkę.
var colors = ["#00bfff","#0080ff","#8533ff","#0080ff"];
var parel = document.getElementById("elements");
for (i = 0; i < 3; i++) {
elem = "<div class=els id=n"+(i+1)+" style=background:"+colors[i]+"><div class=number>"+(i+1)+"</div><input type=text class=things><div class=clear></div></div>";
parel.innerHTML += elem;
}
var allInputs = document.getElementsByClassName("things");
var inputsNumber = allInputs.length;
var y = allInputs[inputsNumber-1].addEventListener("blur", add);
function add(){
var x = document.addEventListener("keyup", function(event) {
if (event.keyCode === 9) {
//var allInputs = document.getElementsByClassName("things");
//var inputsNumber = allInputs.length;
//console.log(inputsNumber-1);
//if (document.activeElement==allInputs[inputsNumber-1]) add();
var parent = document.getElementById("elements");
var howmany = parent.childElementCount;
var input = "<div class=els id=n"+(howmany+1)+" style=background:"+colors[howmany-1]+"><div class=number>"+(howmany+1)+"</div><input type=text class=things><div class=clear></div></div>";
parent.innerHTML += input;
}
});
}
<div id="elements"></div>
PS. Dodaję JSbina bo na JSfiddle nie działa
https://jsbin.com/xafuduqare/edit?html,js,output