web-dev-qa-db-fra.com

Comment définir le focus sur un champ de zone de texte masqué à l'aide de JavaScript?

Comment définir le focus sur un élément de zone de texte masqué?

J'ai essayé ceci:

document.getElementById("textControl_fd_component_JSON_TASK_NStext64").focus(); 

Mais cela ne fonctionne pas ici. Comme alert(document.activeElement.id); renvoie null dans ce cas. 

Si je rend ce champ visible, le script ci-dessus fonctionne correctement. Des idées où je me trompe?

20
Pramod Kumar

Si vous en avez vraiment besoin, faites en sorte que la boîte soit transparente et non cachée:

opacity:0;
filter:alpha(opacity=0);

Si vous voulez vous assurer que l'utilisateur ne clique pas dessus accidentellement, il suffit de placer l'entrée dans une div avec

width: 0;
overflow: hidden;

Cependant , il existe certainement un meilleur moyen de faire ce que vous voulez, en utilisant peut-être keydown/keypress.

44
apsillers

Vous pouvez ajouter des js si vous avez besoin d'une solution de contournement et que vous ne pouvez pas modifier l'opacité attr.

/* bind a click handler to your trigger */
jQuery('#your-search-trigger').on('click', function searchIconEventhandler (event) {
    /* in case your field is fading, cheat a little (check css transition duration) */
    setTimeout ( function timeoutFunction () {
        /* show the cursor */
        jQuery('#your-search-input').focus();
    }, 100);
});
0
Guntram

Je ne pense pas que cela soit autorisé, du moins dans IE. J'ai eu cette information sur la page de focus de jQuery .

0
AlexMA