Bir vurgulu öğeyi "incelemek" mi?


102

Not: Benzer konuları okudum, ancak hiçbiri benim sorunum değil - üzerine sağ tıklayabilirim, sadece sonra kaybolur.

"Öğeyi İncele" yi Chrome'da paha biçilmez bir araç buluyorum, ancak birçoğunuzun halihazırda sahip olduğu sihirbazca yöntemleri öğrendiğimde, gezinti çubuğumdaki bir öğe için alt menü oluşturduğumu görüyorum. üst öğe.

Pop-up (veya aşağı) istediğim gibi tasarlanmamış, bu yüzden tam olarak neyin nereden geldiğini görmek için öğeyi sağ tıklıyorum> ve istediğim etkiyi nasıl elde edeceğime dair daha iyi bir fikir ediniyorum.

Ancak, faremi menüden uzaklaştırır çıkarmaz kayboluyor.

Bu yüzden inceleme bölmesinde farklı öğeler seçemiyorum ve aynı anda hangi alanın vurgulandığını göremiyorum.

Menüyü değiştirmeden, etkinleştirildikten sonra "açılır" olarak kalmasının bir yolu var mı?


2
Bu gibi durumlarda, genellikle konsolu sayfada mouseleaveetkinliği üst menüden kaldırmak gibi geçici bir değişiklik yapmak için kullanırım . Alt menü, farenizi ana menünün dışına taşıdıktan sonra bile açık kalmalıdır.
jbabey

Chrome artık bunu destekliyor. UI öğesini seçin (örneğin bir etiket)> Öğeyi İncele> Stiller Sekmesi, filtre kutusunun yanında bir ": hov" bölümü vardır. Tıkla. Artık fareyle üzerine gelme onay kutusunu seçebilir ve fareyle üzerine gelindiğinde hangi stillerin yüklendiğini görebilirsiniz.
Dhanuka777

Yanıtlar:


69

Eğer hoveretkisi ile verilir CSSo zaman evet, normalde bunu almak için iki seçenekleri kullanın:

Bir, için fare ayrılırken : demirledi pencerede aç müfettişi ve ulaşma, günlük dek genişliğini arttırmak , daha sonra sağ tıklayın ve açılan menü müfettiş bölge üzerinde olmalıdır ... o zaman müfettiş görüntüsü üzerine fareyi hareket , belgede aktif durumda kalsın.seehover effecthover area
HTML elementhover effect

görüntü açıklamasını buraya girin

İki, hiç fare üzerinde olmasa bile , gidin denetçisini açın ve der sağ üst simgeye tıklayın Eğer var aktive elle yapabilirsiniz (bir ok ile noktalı dikdörtgen) ... (diğerleri) ile onay kutusu sağlandı.keephover effectHTML elementStyles TABToggle Element StateHover Event

görüntü açıklamasını buraya girin

Hiç net değilse bana bildirin ve birkaç ekran görüntüsü ekleyebilirim. Düzenlendi : ekran görüntüsü eklendi.

Ve son olarak ve başlangıçta söylediğim gibi, bunu sadece ile hoverayarlanmışsa yapabilirim CSS:HOVER... örneğin hover stateile kontrol ettiğinizde jQuery.onMouseOver, sadece çalışır (bazen), yöntem Bir.

Umarım yardımcı olur.


4
İlk çözümünüz iyi bir geçici çözüm ve onu daha iyi hale getirmenin bir yolu var: fareyle üzerine gelinen öğeyi sağ tıklayın, fareyi tamamen "denetleme alanına" götürün ve ardından klavye tuşlarıyla gezinin ve "inceleme öğesinde enter tuşuna basın ". Öğe, üzerine gelindiğinde tutulacaktır. İkinci çözümünüze gelince, evet, bu (veya bağlam menüsünü kullanmak :hover) açıkça doğru çözüm olmalıydı, ancak ne yazık ki bu, hatırlayabildiğim kadarıyla Chrome / Firefox'ta işe yaramadı ...
Gilad Barner

Bunu Windows'ta yapmaya alışmıştım, ancak Mac'te bu numara işe yaramıyor, kimse bunun için bir Mac'te bir yol bulmuş mu? Görünüşe göre fare
denetçide

@GiladBarner, önerilen kısayolunuz için teşekkür ederim, benim için çalıştı. Bunun bilgisayarımdaki bir sorun olup olmadığını bilmiyorum, ancak klavye aracılığıyla seçilen menü seçeneğini göremiyorum ve açılır menü görünürken kısayol tuşu (ctrl-shift-I) çalışmıyor , bu yüzden denetleme öğesi açılır menüdeki son seçenek olduğundan, son öğeye gitmek için yukarı ok tuşunu kullandım ve enter tuşuna bastım ve işe yaradı.
Bill Hileman

Görünüşe göre şu anda :hoverseçenek Sınıfları Değiştir Seçeneğinde
Sagnik Pradhan

152

Fareyle üzerine gelme JS tarafından tetiklenirse, klavye aracılığıyla komut dosyasının yürütülmesini duraklatmanız yeterlidir. Bu, DOM'u dondurmanın diğer yanıtların önerdiğinden çok daha basit bir yoludur.

İşte bunu Chrome'da nasıl yapacağınız. Eminim Firefox'ta eşdeğer bir prosedür vardır:

  1. Geliştirici Araçlarını açın ve Kaynaklar'a gidin.
  2. Komut dosyası yürütmeyi duraklatmak için kısayolu not edin— F8.

    Komut dosyası yürütmeyi duraklat

  3. Öğenin görünmesini sağlamak için kullanıcı arayüzü ile etkileşim kurun.

  4. Hit F8.
  5. Artık farenizi hareket ettirebilir, DOM'u inceleyebilirsiniz, ne olursa olsun. Eleman orada kalacak.

3
Burada sunulan diğer yöntemler, bunun olduğu pek çok bağlamda işe yaramaz.
Ed Staub

2
Harika. Bunun en iyi yol olduğunu düşünüyorum.
Varun Mehta

1
Safari için bu Debuggersekme
user2661518

6
Benim için işe yaramadı. Sonra F8, ekran donuyor ve herhangi bir öğesini seçemezsiniz. Çözümüm, sekmeye F8geçmek için tuşuna basmak ve Elementsardından vurgulu öğede bulunan kelimeleri aramaktır.
AngryHacker

1
Firefox'ta da aynı şekilde çalışır, ancak F8'e basmadan önce hata ayıklayıcı sekmesine odaklanmanız gerekir (bu kısayol buradan çalışır). Duraklatıldıktan sonra, DOM'u yalnızca mevcut olan bir: hover durumu sırasında var olan tüm öğelerle inceleyebilirsiniz. Bu sadece incelenecek öğelerin üzerine gelindiğinde F8 tuşuna basmakla ilgili bir soru. Başka bir öğe seçmeniz gerekirse, incelemek için bağlamsal menüden kaçınmaya çalışın (devam ettirmeyi tetikleyebilir). Devtool'u yakalamak için sol üstteki simgeyi kullanın.
Kir Kanos

32

Benim için işe yarayan şey, incelemek istediğim belirli bir etiketi seçmek ve bunu yapmak:

görüntü açıklamasını buraya girin

Yukarıdakileri yaptıktan sonra, normal olarak bir etiketi seçerdim, ardından fareyi Denetle Öğesi vb. Gibi başka yerlere geldiğimde bile açılır menü otomatik olarak olduğu gibi kalacaktır.

Normal duruma dönmek için menü açılır öğelerini incelerken tarayıcıyı yenileyebilirsiniz.

Bu yardımcı olur umarım. :)


5
Dahi :). Bu, javascript tarafından ortaya çıkan gezgini incelemeye izin verir.
ElwoodP

1
güzeldi bana orijinal cevaptan daha iyi çalıştı.
Victor

14

Bunu javascript konsolunda da yapabilirsiniz:

$('#foo').trigger('mouseover');

Öğeyi "üzerine gelme" durumunda "donduracak".


7

Chrome'da CSS değişikliği veya JS duraklaması olmadan bunu nasıl yapıyorum (Mac'teyim ve Win üzerinde çalıştırıyorsanız önümde bir PC yok):

  1. geliştirici konsolunuzu açık tutun.
  2. fareyle denetleme aracını henüz etkinleştirmeyin, bunun yerine farenizi üzerine getirerek istediğiniz alt menüyü açın.
  3. Command+ Shift+ C(Mac) veya Ctrl+ Shift+ C(Win / Linux) tuşuna basın

artık fareyle üzerine gelindiğinde inceleme aracı, alt gezinme özelliğinizde açtığınız öğelere uygulanacaktır.


4

Önceki tarayıcı revizyonlarında mevcut olup olmadığından emin değilim, ancak bu son derece basit yöntemi yeni buldum.

Denetçiyi Chrome veya Firefox'ta açın, ilgilendiğiniz öğeye sağ tıklayın ve uygun seçeneği seçin (bu durumda: üzerine gelin). Bu, ilişkili CSS'yi tetikleyecektir.

Kromda menüyü açma Firefox'ta aynı menüyü açma

Firefox 55 ve chromium 61'den ekran görüntüleri.


1
Ne yazık ki, karmaşık şeyler için işe yaramayacak: gezdirilmiş öğeler. Yalnızca CSS sözde sınıf durumunu tetikler. İlgili css'yi etkin bir şekilde etkinleştirmek. Ancak javascript olayını tetiklemez. Asıl soru, böyle bir senaryoda hata ayıklamak üzereydi. Chrome ve Firefox'ta nasıl yapılacağına dair daha fazla ipucu için en çok oy alan cevapta (kabul edilen değil) yorumuma bakın.
Kir Kanos

2

Mükemmel şeyler!

Bu tavsiye için gmo'ya teşekkür ederim. Bu özellik ayarlarının çok yararlı olduğunu bilmiyordum.

İfadede küçük bir revizyon olarak bu süreci şu şekilde açıklayacağım:

  • Biçimlendirmek istediğiniz öğeye sağ tıklayın

    • "İnceleme" aracını aç

    • Sağ tarafta, küçük Stiller sekmesine gidin

    • CSS stil sayfası içeriğinin üzerinde bulundu

    • .Hov seçeneğini seçin - Bu size seçili HTML öğesi için mevcut tüm ayarları verecektir.

    • Devre dışı bırakmak için tüm seçenekleri tıklayın ve değiştirin

    • Şimdi ince ayar yapmak istediğiniz durumu seçin - Bunlardan herhangi biri etkinleştirildiğinde, Stil Sayfanız sizi doğrudan bu ayarlara atlayacaktır:

Stiller - İnce Ayar Filtreleri - Etkileşimli öğeler

Bu bilgi benim için bir cankurtaran oldu, şimdi duyduğuma inanamıyorum!


Bu, Chrome'un en iyi yoluydu!
çırpın

1
Harika, cevabım size yardımcı oldu mu?
Dan Haddock

1

Bunu yapmam gerekiyordu, ancak incelemeye çalıştığım öğe başka bir öğenin üzerine gelme durumuna göre dinamik olarak eklendi ve kaldırıldı. Benim çözümüm benzer bu bir , ama bu oldukça benim için çalışmadı.

İşte yaptığım şey:

  1. İlgilendiğiniz üzerine mouseovergelme olayını tetikleyen öğenin hata ayıklayıcı moduna girmek için basit bir komut dosyası ekleyin .
$(document).on('mouseover', '[your-hover-element-selector]', function(e) {
  debugger;
});
  1. Ardından, geliştirici konsolu Chrome'da açıkken öğenizin üzerine gelin ve hata ayıklayıcı moduna gireceksiniz. Geliştirici araçlarının kaynaklar bölümüne gidin ve "Komut dosyası yürütmeye devam et" düğmesini tıklayın (aşağıdaki mavi oynatmaya benzer düğme).

görüntü açıklamasını buraya girin

Bunu yaptığınızda, DOM'nuz fareyle üzerine gelme durumunda duraklatılır ve bu durumda bulunan tüm öğeleri incelemek için öğe denetçisini kullanabilirsiniz.


0

CSS'yi, siz üzerinde çalışırken menüyü gizleyen özellik uygulanmayacak şekilde değiştirin.


Oh hadi ahbap, böyle bir değişiklik yapmadan özellikle söyledim.
OJFord

"Etkinleştirildikten sonra açılır kalmaz" dediniz. Tüm etkinleştirme tetikleyicilerini kaldırarak her zaman görünür olmasını öneriyorum. tüm açılır menüleri böyle yapıyorum, aksi halde acı dolu bir dünya. ama :) Kendini nakavt
Woody
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.