Resimlerin ve içeriğimin üzerine "Back Board" yazdım: http://syndex.me Temel olarak, bir resme tıkladığınızda, tıklanan içeriğin üzerinde bir bilgi paneli kaplayacaksınız. .live() tarafından ele alındığında ebeveynlere yayılan çocuk tıklama etkinliklerini durdurmak mümkün mü?
- tıklayın:
iki şey yapmak istiyoruz tetikleme yapılmadan bilgi paneli, üst fonksiyonun da tekrar sönmesidir. i tıklama etkinlikleri .live tarafından ele alınması gerekiyor gibi çocuk tıklama için stopPropagation kullanamazsınız
Bu mesaj dinamik yüklenirken olmasından kaynaklanmaktadır ana tıklayarak() (see documentation) yürürlükten kaldırılmaktadır.
Sadece gibi bir şey diyemeyiz. O mesajlarda sarmalayıcı kapsadığı ediliyor Çünkü {Bilgi Kurulu kaybolup //}) ((function tıklayın $ ("# Arka Plan") ve ben can' t bir olay ont şapka koymak çünkü o zaman bile çocuk olayları devralarak ebeveynlerin ikileminde daha derin değilim.
Şimdiye kadar sadece en az bir infoboard açık olabilir (yani bir resmin üzerine tıklayın)
$('.theContent:not(.clicked)').live("click", function() {
$(this).children('.postInfo').fadeIn(400);
$(".clicked").each(function() {
$(this).find('.postInfo').fadeOut(400);
$(this).removeClass('clicked');
});
$(this).addClass("clicked");
});
$('.clicked').live("click", function() {
$(".clicked").each(function() {
$(this).find('.postInfo').fadeOut(400);
$(this).removeClass('clicked');
});
});
) (.live, .del Re:., sonra başka, bu yüzden bu bölüm iyi hepsi zaten bir açıldı kapatın ve mevcut olanı açacak egate() ve .stopPropogation():
onlar belgenin üstüne derlendikten sonra .live() yöntemi olayları işleyen yana, canlı olayların yayılmasını durdurmak mümkün değildir. Benzer şekilde, .delegate() tarafından işlenen olaylar, delege edildikleri öğelere yayılacaktır; DOM ağacındaki altındaki herhangi bir öğeye bağlı olay işleyicileri, temsilci olay işleyicisinin çağrıldığı andan itibaren zaten yürütülmüştür. Bu nedenle, bu işleyiciler, temsilci işleyicisinin event.stopPropagation() öğesini arayarak veya false değerini döndürerek tetiklemesini engelleyebilir.
eğer o inşaat emin değilim ama denediniz 'return false;' senin 'canlı()' olay işleyicisi üzerinde? – Andre
Hayır, şimdi yaptım ve hiç farketmez. Gerçi cidden zen olurdu! – RGBK
'Normal' JavaScript’te yapmanız gereken budur :) Olayı durdurmanın bir yolu yok gibi görünüyor. Belki de global bir varyasyon ayarlayıp bunu animasyon işleyicinizde kontrol etmeyi düşündünüz mü? – Andre