Question

J'ai quelques boutons dans la barre d'outils inférieure d'un panneau de grille qui contrôlent l'ajout et la suppression d'enregistrements de la grille d'édition de lignes.

Les gestionnaires sont assez simples :Le bouton "nouveau" crée une instance du modèle, l'ajoute à la grille puis ouvre un éditeur de ligne sur la nouvelle ligne ;Le bouton « modifier » ouvre simplement l'éditeur de ligne de la ligne sélectionnée ;"remove" détruit l'enregistrement du magasin et actualise la vue grille.

Pour une raison quelconque, ces boutons ne perdent pas la classe de focus qui leur donne une bordure lorsqu'ils ont le focus.Voici une photo :

enter image description here

Dans l'image, le bouton "Nouveau" et le bouton "Supprimer" ont la classe de focus. Lorsque j'appuie sur le bouton "Modifier", il conserve également les classes de focus même après avoir effectué une opération d'édition de ligne complète et fermé l'éditeur de lignes.

J'ai constaté que lorsque je souris sur l'un de ces boutons "concentrés" en permanence, puis que je m'en éloigne et que je clique sur autre chose, la classe de focus disparaît.

Je sais que je pourrais mettre un gestionnaire de flou pour tous les composants de bouton dans mes contrôleurs respectifs, mais j'aurais pensé que cette fonctionnalité était intégrée, donc je demande à voir s'il y a quelque chose que j'ai manqué quelque part dans la documentation.

Les classes qu'il ne lâchera pas sont les suivantes :

x-focus x-btn-focus x-btn-default-toolbar-small-focus

C'est avec ExtJS 4.1.0 dans FF10 sur Windows 7.Mais j'ai remarqué un comportement similaire dans ExtJS 4.02 et 4.07, je n'ai tout simplement pas eu besoin de le gérer jusqu'à présent.

Était-ce utile?

La solution

J'ai découvert ce que c'était :

À un moment donné dans la chaîne de gestionnaires de chacun de ces boutons, le bouton est désactivé.Lorsqu'un bouton est désactivé dans ExtJS, cela empêche le blur événement de tir.

Il a fallu désactiver les boutons donc la solution consistait simplement à ajouter button.blur() dans le gestionnaire était la bonne façon de procéder.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top