Maison  >  Article  >  interface Web  >  Comment vérifier si une entrée a le focus à l’aide de jQuery ?

Comment vérifier si une entrée a le focus à l’aide de jQuery ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-15 03:22:02397parcourir

How to Check if an Input Has Focus Using jQuery?

Utiliser jQuery pour tester si une entrée a le focus

Ce dilemme se pose lors de l'utilisation de jQuery pour répliquer le comportement de survol CSS pour des éléments autres que < ;a> dans IE6. La frontière entourant le

disparaît lorsqu'une entrée dans le formulaire prend le focus et que le curseur de la souris entre et sort.

Pour résoudre ce problème, jQuery peut être utilisé pour vérifier si une entrée dans le formulaire a le focus. Cependant, comme jQuery ne dispose pas d'un sélecteur :focus, des méthodes alternatives doivent être utilisées.

jQuery 1.6

Avec jQuery 1.6 et supérieur, un sélecteur :focus est disponible. Le code suivant peut être utilisé pour vérifier le focus :

$("..").is(":focus")

jQuery 1.5 et versions antérieures

Pour les versions antérieures de jQuery, le code suivant peut être utilisé pour définir un nouveau sélecteur et vérifier le focus :

jQuery.expr[':'].focus = function(elem) {
  return elem === document.activeElement &amp;&amp; (elem.type || elem.href);
};

Vous pouvez également vérifier quel élément a le focus using :

$(document.activeElement)

Pour toutes les versions de jQuery

Pour garantir la compatibilité avec les différentes versions de jQuery, vous pouvez ajouter le sélecteur :focus comme suit :

(function ($) {
  var filters = $.expr[":"];
  if (!filters.focus) {
    filters.focus = function(elem) {
      return elem === document.activeElement &amp;&amp; (elem.type || elem.href);
    };
  }
})(jQuery);

En testant le focus, il est possible d'empêcher la bordure de disparaître lorsqu'une entrée obtient le focus et que le curseur entre et sort.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn