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?
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
.
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);
});
Je ne pense pas que cela soit autorisé, du moins dans IE. J'ai eu cette information sur la page de focus de jQuery .