Per impostare il focus su una textarea

HTML

<textarea id="txt-body"></textarea>

<button type="button" id="btn">set focus</button>
normalmente è sufficiente invocare, da JavaScript, il metodo focus

JavaScript

document.getElementById("txt-body").focus()
ma se cerchiamo di impostare il focus dall'interno di un evento

JavaScript

document.getElementById("btn").addEventListener("click", () => {
    document.getElementById("txt-body").focus();
});
non funziona.

Per farlo funzionare va introdotto un ritardo con setTimeout

JavaScript

document.getElementById("btn").addEventListener("click", () => {

  setTimeout(() => {

    document.getElementById("txt-body").focus();

  }, 0);

});
Tags:
Java6 Esempi225 HTML 554
Potrebbe interessarti anche: