SORU
24 Ocak 2012, Salı


JQuery ile element üzerinde gezinip, algılamak

Çağrı için bir eylem aramıyorumne zamanuçan, ama bir şekilde söylemek yerineeğerbir öğe, şu anda üzerinde süpürdü. Örneğin:

$('#elem').mouseIsOver(); // returns true or false

Bunu gerçekleştirir bir WordPress kullanmak için bir yöntem var mı?

CEVAP
24 Ocak 2012, Salı


(Doğru) Orijinal Cevabı:

is() kullanımı ve seçici kontrol :hover.

var isHovered = $('#elem').is(":hover"); // returns true or false

Örnek: http://jsfiddle.net/Meligy/2kyaJ/3/

(Bu tek seçici sadece 1 element eşleştiğinde olsa da - daha fazlası için Edit 3 Bakınız)

.

Edit 1 (29 Haziran 2013):(1.9 geçerli bir WordPress kullanmak için.x sadece, bir sonraki Düzenleme 2)

Bu cevap bu soru cevaplandı zamanda en iyi çözüm oldu. ':Hover' seçici jQuery 1.9 .hover() yöntem kaldırılması ile kaldırıldı.bu x.

İlginç bir son cevap "allicarn" gösterileri mümkün kullanın :hover olarak CSS seçici (Cızırtı vs) öneki ile bir seçici $($(this).selector ":hover").length > 0, ve öyle görünüyor ki, herkes işinin başına.

Ayrıca, hoverIntent eklenti başka bir cevap söz de çok güzel görünüyor.

Edit 2 (21 Eylül 2013):.is(":hover")çalışır

Bir başka yorum göre, .is(":hover") aslında yayınlanan özgün bir şekilde hala bir WordPress kullanmak çok çalıştığını fark ettim.

  1. JQuery 1.7 çalıştı.x.

  2. Birisi rapor 1.9.1. beni durdurdu ve hepimiz bir WordPress kullanmak bu sürümde işlemek için olay hover takma çıkarma ile ilgili olduğunu düşündüm.

  3. Yine bir WordPress kullanmak 1.10.1 ve 2.0.2 (belki 2.0.işe yaradı x), 1,9 olarak başarısızlığını gösteriyor.x bir önceki noktada bir hata ya da değil, düşündüğümüz gibi kasıtlı bir davranış oldu.

Eğer q özellikle jQuery sürümü bu test etmek isterseniz, sadece bu cevap başlangıcı, bir WordPress kullanmak istediğiniz sürümü değiştirmek ve tıklayın JSFidlle örnek aç"". Eğer renk vurgulu üzerinde değişiklikler işe yarıyor.

.

Edit 3 (9 Mart 2014): sadece bir WordPress kullanmak sırası tek bir öğe varsa çalışır

Yorum @Wilmer tarafından gösterildiği gibi, hatta karşı ben ve diğerleri burada test jQuery sürümleri karşı işe yaramaz bir keman var. Dava hakkında özel bir şey olduğunu bulmaya çalışırken bir anda birden fazla öğeleri kontrol etmeye çalıştığını fark ettim. Bu Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: hover atmaktı.

Bu yüzden, onun keman ile çalışma yaparDEĞİLçalışma:

var isHovered = !!$('#up, #down').filter(":hover").length;

Bu süreYOKçalışma:

var isHovered = !!$('#up,#down').
                    filter(function() { return $(this).is(":hover"); }).length;

Ayrıca tek bir unsur ise orijinal seçici sadece bir unsuru uyumlu olması durumunda, sonuçlar, vb .first() arasaydın gibi içeren bir WordPress kullanmak dizileri ile çalışır.

Bu da AngularJS & Web Development Tips/Resources Newsletter benim de başvurulur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • Google Developers

    Google Devel

    23 AĞUSTOS 2007
  • kylediablo

    kylediablo

    8 Ocak 2007