2011-10-13 19 views
22

(<ul> içinde <li><li>) bir dizi liste elemanım var, kabarcıklar <li> elementleri:JQuery ile mouseleave() üzerine imlecin hangi öğede olduğunu kontrol edin?

http://i.stack.imgur.com/PR7vR.png

arasındaki fark
  1. Fareyi kabarcıkdan # 1'e taşıma
  2. Fareyi 1 'ten 1 'e aktarma doğrudan başka bir kabarcık, örneğin kabarcık 2

$(this) öğesinde bir kabarcık için bile $(this) kullanın, ancak şu anda gezinmekte olduğunuz öğeden ziyade ayrıldığınız öğeyi kaydeder.

Fare mouseleave() üzerine hareket ettiği öğeyi nasıl alacağınıza dair herhangi bir fikir var mı?

cevap

36

Sen kullanmaya gerek event.toElement || e.relatedTarget:

$('li').mouseleave(function(e) 
{ 
    // new element is: e.toElement || e.relatedTarget 
}); 

javascript ordinarey kullanabiliyorsa

+1

Not düzenleme @kennebec - iyi aramaya göre yukarıda ekledim - tarayıcı uyumluluğuna sahip olduğunuzdan emin olmak için, 'e.toElement || e.tolatedTarget yerine "e.toElement" yerine –

6

(tarayıcı uyumluluğu sağlamak için || e.relatedTarget nota Düzenlendi), her olay (e) dışarı üzerine fare ve fare vardır Çoğu tarayıcıda bir e.relatedTarget. # 9'dan önce IE, bir mouseover veya mouseout dinliyor olmanıza bağlı olarak event.toElement ve event.fromElement öğelerini içerir.

İlgili konular