obtient le focus, la bordure créée par la méthode .hover() disparaît dès le retrait de la souris.
Pour résoudre ce problème, nous cherchons à vérifier si une entrée a le focus sur souris dehors. Étant donné que jQuery ne dispose pas d'un sélecteur :focus, des méthodes alternatives sont nécessaires.
jQuery 1.6 et versions ultérieures
jQuery 1.6 inclut un sélecteur :focus, éliminant le besoin d'implémentations personnalisées. Utilisez simplement $("..").is(":focus") pour vérifier les entrées ciblées.
jQuery 1.5 et versions antérieures
Pour les versions antérieures de jQuery, il est recommandé de définir un sélecteur :focus personnalisé. Ceci peut être réalisé avec :
jQuery.expr[':'].focus = function( elem ) {
return elem === document.activeElement && ( elem.type || elem.href );
};
Copier après la connexion
Cela garantit que seuls les contrôles de formulaire et les hyperliens sont considérés comme ciblés.
Vous pouvez également utiliser :
if ($("...").is(":focus")) { ... }
Copier après la connexion
ou :
$("input:focus").doStuff();
Copier après la connexion
Toutes les versions de jQuery
À déterminez quel élément a le focus, quelle que soit la version de jQuery, utilisez :
$(document.activeElement)
Copier après la connexion
Vérification des éléments manquants :focus Selector
Si vous n'êtes pas sûr de la version de jQuery, vous Vous pouvez ajouter le sélecteur :focus manuellement :
(function ( $ ) {
var filters = $.expr[":"];
if ( !filters.focus ) {
filters.focus = function( elem ) {
return elem === document.activeElement && ( elem.type || elem.href );
};
}
})( jQuery );
Copier après la connexion
En employant ces techniques, vous pouvez conserver le comportement de bordure souhaité tout en vous adaptant aux spécificités du navigateur. limites.
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!