Jak mogę sprawdzić element, który znika, gdy moja mysz się oddala?
Nie wiem, czy to identyfikator, klasa czy coś, ale chcę to sprawdzić.
Rozwiązania, które wypróbowałem:
Uruchom selektor jQuery w konsoli, $('*:contains("some text")')
ale nie miałem szczęścia, głównie dlatego, że element nie jest ukryty, ale prawdopodobnie usunięty z drzewa DOM.
Ręczna inspekcja drzewa DOM pod kątem zmian nie daje mi nic, ponieważ wydaje mi się, że jest po prostu zbyt szybko, aby zauważyć, co się zmieniło.
SUKCES:
Odniosłem sukces z punktami przerwania zdarzeń. A konkretnie - w moim przypadku mousedown. Po prostu przejdź do Sources-> Event Listener Breakpoints-> Mouse-> mousedown
w Chrome. Następnie kliknąłem element, który chciałem sprawdzić, a wewnątrz Scope Variables
zobaczyłem kilka przydatnych wskazówek.
źródło
document.body.addEventListener('mouseup',function(){ debugger; })
To mnie przerwało i mogłem przyjrzeć się utworzonym elementom.Odpowiedzi:
(Ta odpowiedź dotyczy tylko Narzędzi Chrome dla programistów.Zobacz aktualizację poniżej).Znajdź element, który zawiera znikający element. Kliknij prawym przyciskiem myszy element i zastosuj „Przerwij na ...> Modyfikacje poddrzewa”. Spowoduje to wstrzymanie debugera, zanim element zniknie, co pozwoli na interakcję z elementem w stanie wstrzymania.
Aktualizacja z 22 października 2019 r .: wraz z wydaniem wersji 70 wygląda na to, że FireFox wreszcie obsługuje ten rodzaj debugowania 2 3 :
źródło
<v-container><v-dialog></v-dialog><v-dialog></v-dialog></v-container>
- w moim przypadku pierwsze okno dialogowe wyświetla się tylko do momentu nadejścia danych zAlternatywna metoda w Chrome:
źródło
setTimeout(()=>{debugger;},5000);
Teraz masz 5 sekund, aby pojawił się element. Gdy się pojawi, poczekaj, aż debugger zadziała. Dopóki nie wznowisz gry, możesz bawić się swoim żywiołem i nie zniknie.
Przydatna wskazówka, aby za każdym razem unikać powtarzania powyższych kroków:
dodaj to jako bookmarklet:
javascript:(function(){setTimeout(()=>{debugger;},5000);})();
Następnym razem, gdy będziesz chciał tego użyć, po prostu kliknij / dotknij tej zakładki.
źródło
Używam Chrome na Macu. Wykonałem powyższe kroki, ale spróbuję wyjaśnić trochę więcej:
F8
lubCommand(Window) \
. Spowoduje zatrzymanie ekranu w stanie statycznym, a element nie zniknie po najechaniu kursorem.źródło
Ctr + Shift + C
, przesunięciu myszy w celu najechania kursorem na element i naciśnięciuF8
w ciągu półtorej sekundy - w końcu dostałem swój element w trybW Firebug istnieją różne rozwiązania tego problemu:
Możesz również zapoznać się z wydaniem 551 , w którym prosi się o czasowe blokowanie określonych wydarzeń.
Edytować:
Aby dowiedzieć się, który to element, możesz również włączyć opcje panelu HTML Podświetl zmiany , Rozwiń zmiany i Przewiń zmiany do widoku, aby element był widoczny w panelu HTML.
Sebastian
źródło
W moim przypadku użyłem opcji Rozwiń rekurencyjnie w Google Chrome:
Kroki są następujące:
Oto demo:
źródło
Najedź myszą na element i naciśnij klawisz F8 (w Chrome), aby wstrzymać wykonywanie skryptu. Stan najechania pozostanie widoczny dla Ciebie.
Zabierze Cię do karty źródeł. Wróć do zakładki Elementy. Ten kod czasowy nie zniknie.
źródło
możesz zobaczyć elementy pojawiające się i znikające w inspektorze pod elementami. Jeśli przejdziesz do elementu, gdy jest on widoczny, powinieneś być w stanie zobaczyć, jak znika lub zobaczyć zmianę css, gdy zmienia się stan.
Jest to możliwe dzięki firebug w Firefoksie lub wbudowanemu inspektorowi w chrome.
źródło
Miałem ten sam problem, ale używam Firefoksa, który znika, gdy tylko otworzę, sprawdź element znalazł rozwiązanie: otwórz 4 myślniki (ustawienia) przejdź do programisty internetowego> Debugger i natychmiast naciśnij F8, który jest skrótem do pauzy zatrzymującej skrypt zanim kopie i wykryje, że otworzyłeś narzędzia programistyczne
źródło