5 votes

Jquery .focus() ne fonctionne pas sans l'attribut tabindex de la div

Comment faire pour que jquery .focus() pour fonctionner sans fixer l'indice de tabulation d'une div

  $("#msgdiv").focus();

<div id="msgdiv" tabindex="100"> </div>

Quelle est la meilleure pratique en la matière ?

ce que je veux réaliser : Après avoir changé le mot de passe, je veux afficher le message de confirmation que le mot de passe a été changé et mettre l'accent sur cette div.

6voto

Simplement, vous ne pouvez pas faire le focus sur une div sans tabindex, voir la documentation .

Je ne sais pas vraiment ce que vous voulez faire avec cet extrait de code, mais si vous voulez déclencher un événement de focalisation, vous devriez utiliser déclencher :

$("#msgdiv").trigger('focus');

4voto

clairesuzy Points 14882

La div a besoin d'un tabindex pour recevoir le focus, vous pouvez en définir un via jQuery avant la balise focus() sans avoir à l'ajouter manuellement au code HTML - si c'est ce que vous demandez

$("div").attr("tabindex",-1).focus(function() { 
// do something
});

2voto

Calum Points 3179

Une div ne peut recevoir le focus que si elle possède l'attribut tabindex.

Quel est votre objectif réel ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X