Domanda

Ho alcuni pulsanti in una barra degli strumenti inferiore di una griglia che controlla l'aggiunta e la rimozione dei record dalla griglia di modifica della riga.

I gestori sono piuttosto semplici: il pulsante "Nuovo" crea un'istanza del modello, aggiunge alla griglia e quindi apre un editor di row-editor sulla nuova riga; Il pulsante "Modifica" apre solo l'editor di riga della riga selezionata; "Rimuovi" distrugge il record dal negozio e aggiorna la vista della griglia.

Per qualche motivo questi pulsanti non perdono la classe di messa a fuoco che danno loro un confine quando hanno la messa a fuoco. Ecco una foto:

Inserisci Descrizione dell'immagine qui

Nell'immagine sia il pulsante "Nuovo" che il pulsante "Rimuovi" ha la classe di messa a fuoco, quando preme il pulsante "Modifica", mantiene anche le classi di messa a fuoco anche dopo aver effettuato un'operazione di modifica della riga completa e chiudendo la riga -editor.

Ho scoperto che quando ho mousedown su uno di questi pulsanti "focalizzati" in modo permanente e poi si toglie via da esso e poi fai clic su qualcos'altro la classe di messa a fuoco va via.

So che potrei mettere un gestore di sfocatura per tutti i componenti del pulsante nei miei rispettivi controller, ma avrei pensato che questa funzionalità sia stata costruita in modo che sto chiedendo di vedere se c'è qualcosa che ho perso da qualche parte nei documenti. .

Le classi che non lascerà andare sono queste:

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

Questo è con Extjs 4.1.0 in FF10 su Windows 7. Ma ho notato un comportamento simile a Extjs 4.02 e 4.07, non ho solo bisogno di gestirlo fino ad ora.

È stato utile?

Soluzione

Ho scoperto cosa fosse:

A un certo punto nella catena del gestore per ciascuno di questi pulsanti il pulsante si disabilita.Quando un pulsante è disabilitato in Extjs impedisce l'evento blur da fuoco.

È stato necessario disabilitare i pulsanti in modo che la soluzione per aggiungere semplicemente button.blur() nel gestore era il modo corretto per farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top