2013-04-30 13 views
5

Fareyi farklı bir öğeye (bağlantı) getirdiğimde, mouseleave olayımın gerçekleşmesini nasıl engelleyebileceğimi bilmem gerekir. Belirli bir öğeyi girmemiş olsaydım yalnızca fare öbeği animasyonu yapmak için söyleyen bir koşulu nasıl kurabilirim?Başka Özel Öğeye Girerken jQuery Mouseleave Olayını Durdur

$(activity_link).mouseenter(function() { 
    $(this).siblings(".delete_place").animate({ 
               "left" : "-28px" 
               }, 300);  
}).mouseleave(function() { 
    $(this).siblings(".delete_place").animate({ 
               "left" : 0 
               }, 300); 
}); 
+2

sizin html ve özelliklerini tanesini içerecek şekilde yararlı olacaktır bu element Çoğunlukla yaklaşım, bu unsuru ana elemanın çocuğu yapmak ve kesinlikle konumlandırmaktır. Ama bu özelliklere çok bağlı. –

+0

Sorunuza biraz daha fazla eklemelisiniz çünkü genel sorununuzu çözmek için “.mouseenter” ve '.mouseleave'den daha iyi bir yol olabilir. – CaptainBli

cevap

0

etkinliği durdurmak ve fokurdayan/ateş önlemek olabilir: Olay relatedTarget ait

... 
}).mouseleave(function(event) { 
    if(mycondition) { 
     $(this).siblings(".delete_place").animate({"left" : 0}, 300); 
    } else { 
     event.preventDefault(); 
    } 
    ... 
+4

Sanırım soru "ateş" olarak ne yazılır? –

4

Kullanımı:

$(activity_link).mouseenter(function() { 
    $(this).siblings(".delete_place").animate({ 
     "left": "-28px" 
    }, 300); 
}).mouseleave(function (e) { 
    if (e.relatedTarget != myElem) { //where myElem is a HTML element 
     $(this).siblings(".delete_place").animate({ 
      "left": 0 
     }, 300); 
    } 
}); 
+0

relatedTarget gerçekten harika! Teşekkürler :) – ravbetsky

+0

Bu durumda, 'myElem' bıraktığınızda, 'mouseleave' olayı tekrar yürütülmeyecek. Farenizin "activity_link" veya "myElem" öğelerini bıraktığı zaman çalıştırılması gerektiğini düşünüyorum. Herhangi bir çözümün var mı? Tam olarak [aynı soru] olduğu için (https://stackoverflow.com/questions/45126197/how-can-i-select-everything-except-specific-element). – stack

İlgili konular