Bagaimana saya bisa memeriksa elemen yang hilang ketika mouse saya bergerak?
Saya tidak tahu itu ID, kelas, atau apa pun selain ingin memeriksanya.
Solusi yang saya coba:
Jalankan pemilih jQuery di dalam konsol $('*:contains("some text")')
tetapi tidak berhasil karena elemennya tidak disembunyikan tetapi mungkin dihapus dari pohon DOM.
Memeriksa pohon DOM secara manual untuk perubahan tidak memberi saya apa-apa karena tampaknya terlalu cepat untuk memperhatikan apa yang telah berubah.
KEBERHASILAN:
Saya telah berhasil dengan breakpoints acara. Khususnya - mousedown dalam kasus saya. Cukup buka Sources-> Event Listener Breakpoints-> Mouse-> mousedown
di Chrome. Setelah itu saya mengklik elemen yang ingin saya periksa dan di dalamnya Scope Variables
saya melihat beberapa petunjuk yang bermanfaat.
sumber
document.body.addEventListener('mouseup',function(){ debugger; })
Itu membuat saya istirahat dan saya bisa memeriksa elemen yang dibuat.Jawaban:
(Jawaban ini hanya berlaku untuk Alat Pengembang Chrome.Lihat pembaruan di bawah ini.)Temukan elemen yang mengandung elemen yang menghilang. Klik kanan pada elemen dan terapkan "Break on ...> Subtree Modifications." Ini akan membuat jeda debugger sebelum elemen menghilang, yang akan memungkinkan Anda untuk berinteraksi dengan elemen dalam keadaan dijeda.
Pembaruan 22 Okt 2019: dengan rilis v. 70, sepertinya FireFox akhirnya mendukung jenis debugging 2 3 ini :
sumber
<v-container><v-dialog></v-dialog><v-dialog></v-dialog></v-container>
- dalam kasus saya dialog pertama hanya menampilkan sampai data datang dari db, kira-kira 1 detikMetode alternatif di Chrome:
sumber
setTimeout(()=>{debugger;},5000);
Sekarang Anda memiliki 5 detik untuk membuat elemen Anda muncul. Setelah itu muncul, tunggu sampai debugger hits. Selama Anda tidak melanjutkan, Anda bisa bermain dengan elemen Anda dan itu tidak akan hilang.
Tip yang berguna untuk menghindari mengulangi langkah-langkah di atas setiap kali:
tambahkan ini sebagai bookmarklet:
javascript:(function(){setTimeout(()=>{debugger;},5000);})();
Lain kali Anda ingin menggunakan ini, cukup klik / ketuk bookmark ini.
sumber
Saya menggunakan chrome di Mac di sana saya telah mengikuti langkah-langkah di atas, tetapi saya akan mencoba menjelaskan lebih banyak:
F8
atauCommand(Window) \
. Ini akan menjeda layar dalam keadaan statis dan elemen tidak akan hilang saat dibawa keluar.sumber
Ctr + Shift + C
, menggerakkan mouse untuk melayang di atas elemen, dan menekanF8
dalam waktu satu setengah detik - Saya akhirnya mendapatkan elemen saya dalam mode yang dapatDi Firebug ada beberapa solusi untuk ini:
Anda juga mungkin ingin mengikuti edisi 551 , yang meminta cara untuk sementara waktu memblokir acara tertentu.
Edit:
Untuk mengetahui elemen mana itu, Anda juga dapat mengaktifkan opsi panel HTML Sorot Perubahan , Perluas Perubahan dan Gulir Perubahan Ke Tampilan untuk membuat elemen terlihat di dalam panel HTML.
Sebastian
sumber
Dalam kasus saya, saya menggunakan Expand secara rekursif opsi di google chrome:
Langkah-langkahnya adalah:
Ini demo:
sumber
Arahkan kursor ke elemen dengan mouse Anda dan tekan F8 (ini di Chrome) untuk menjeda eksekusi skrip. Status hover akan tetap terlihat oleh Anda.
Ini membawa Anda ke tab sumber. Kembali ke tab Elemen. Kode waktu ini tidak akan lenyap.
sumber
Anda dapat melihat elemen muncul dan menghilang di inspektur di bawah elemen. Jika Anda menavigasi ke elemen ketika itu terlihat Anda harus dapat melihatnya menghilang atau melihat perubahan css ketika statusnya berubah.
Ini dimungkinkan dengan pembakar di firefox atau inspektur yang dibangun di chrome.
sumber
saya punya masalah yang sama tetapi saya menggunakan Firefox itu menghilang segera setelah saya buka memeriksa elemen menemukan solusi: buka 4 tanda hubung (pengaturan) pergi ke pengembang web> Debugger dan segera tekan F8 yang merupakan jalan pintas untuk jeda yang menghentikan skrip sebelum menendang dan mendeteksi bahwa Anda membuka alat pengembang
sumber