Sto tentando di eseguire il debug di un evento onFocus JavaScript collegato a un gruppo di caselle di testo su una pagina. Il bug si verifica quando si seleziona una casella di testo e quindi si passa alla successiva casella di testo. Sto cercando di eseguire il debug inserendo un punto di interruzione nell'evento onFocus utilizzando Chrome Dev Tools. Il problema che sto affrontando è che quando seleziono una casella di testo e il punto di interruzione viene catturato, Chrome Dev Tools ruba lo stato attivo e non lo restituisce, quindi non posso passare alla casella di testo successiva. Qualcuno ha un'idea per un lavoro in giro? Immagino di poter ricorrere alle istruzioni di avviso per stampare tutte le informazioni di cui ho bisogno senza utilizzare Chrome Dev Tools ......Debug dell'evento onFocus utilizzando gli Strumenti per sviluppatori di Chrome? Impossibile restituire lo stato attivo dopo il punto di interruzione
risposta
Hai ragione, Chrome DevTools riceve lo stato attivo e non ripristinarlo quando torni al pagina di debug. Sentitevi liberi di inviare un bug a http://new.crbug.com (assicuratevi di iniziare la sintesi con "DevTools:". In modo che il bug può essere assegnata al team competente il più rapidamente possibile)
Su un lato nota, console.log()
è un po ' migliore alternativa a alert()
in quanto consente l'output formattato.
Un'opzione per il debug di casi complicati consiste nell'impostare un intervallo per il polling dello stato attivo nella console.
setInterval(function() {console.log($(':focus')); }, 1000);
Digitare questo nella console (aggiornarlo per includere tutto ciò che i dettagli che ti interessa), premere invio, e quindi a mantenere la console in cui si può vedere mentre si fa roba nella vostra interfaccia utente.
Chrome Dev Tools include un pulsante Play/Pause sia in Impostazioni e come una sovrapposizione alla pagina web. L'uso della sovrapposizione impedisce alla messa a fuoco di atterrare su Inspector.
Inoltre, ho trovato il seguente tipo di soluzione registrazione per essere più facile da monitorare rispetto al metodo dell'intervallo (grazie a meno ridondanza e la capacità di raccogliere su cambiamenti che si verificano più rapidamente rispetto all'intervallo):
$('*').on('focus blur', function(event) {console.log(event.type + " to:"); console.log(document.activeElement);});
Questa è la soluzione migliore, poiché registra solo quando cambia, invece di inviare spam alla console quando si utilizza setInterval – Cine
- 1. Strumenti per sviluppatori di Chrome. Punto di interruzione modifica sottostruttura DOM?
- 2. Il segnaposto non scompare dopo lo stato attivo in Chrome
- 3. C'è un modo per mantenere gli Strumenti per gli sviluppatori aperti durante il debug di un'estensione di Chrome?
- 4. Impossibile vedere il codice caricato dinamicamente in Strumenti per sviluppatori di Chrome 22
- 5. Debug degli iframe con gli strumenti di sviluppo di Chrome
- 6. Orologio AngularJS - impossibile impostare il punto di interruzione in chrome utilizzando gli spazi di lavoro di devtools
- 7. Impossibile impostare i punti di interruzione negli strumenti di sviluppo di Chrome, versione 26.0.1410.64 m
- 8. I file sorgente/minuscolo di grandi dimensioni bloccano gli Strumenti per sviluppatori di Chrome
- 9. Impossibile eseguire il debug del test utilizzando il punto di interruzione in Visual Studio 2013
- 10. VS2010: cercando di eseguire il debug javascript utilizzando Chrome: questa non è una posizione valida per un punto di interruzione
- 11. punto di interruzione dopo il caricamento della pagina
- 12. Angolare non definito in Strumenti per sviluppatori di Chrome
- 13. WPF: Impossibile impostare lo stato attivo
- 14. Abilita punto di interruzione B se il punto di interruzione A è stato colpito
- 15. Strumenti per gli sviluppatori di Google Chrome - disabilita il righello delle opzioni di emulazione nera
- 16. punto di interruzione di debug minfied straziati variabili// compilati
- 17. Strumenti per sviluppatori di Chrome: la migliore risorsa per l'apprendimento di funzionalità avanzate?
- 18. Disabilita la funzione $ Strumenti per sviluppatori di Chrome
- 19. Che cos'è "Archiviazione sessione" in Strumenti per sviluppatori di Chrome?
- 20. Summernote: impostare lo stato attivo dopo l'inizializzazione
- 21. Google Chrome debugger salta il punto di interruzione
- 22. Ispeziona le variabili js in Strumenti per sviluppatori di Chrome
- 23. Impossibile raggiungere il punto di interruzione in Visual Studio
- 24. C'è modo di restituire lo stato precedente dopo il passaggio in Visual C++ debug?
- 25. Scrivi JavaScript in strumenti per sviluppatori di Chrome
- 26. Inserisci query supporti CSS in Strumenti per sviluppatori di Chrome
- 27. Come mantenere le modifiche CSS con gli Strumenti per sviluppatori di Chrome
- 28. Disabilita il salvataggio automatico delle modifiche CSS in Strumenti per sviluppatori di Chrome
- 29. Equivale cd Firebug in console Chrome/strumenti per sviluppatori
- 30. Debug ServletContextListener.contextDestroyed() impostando il punto di interruzione in eclissi
Vedere anche [http://stackoverflow.com/questions/11277989/how-to-get-the-focused-element-with-jquery](qui) per diversi modi di accedere a ciò che è focalizzato (incluso non-jQuery) . –
Aiutami oggi :). L'ho inserito in un bookmarklet per riferimento futuro e accesso rapido. –
Grazie, grande successo! –