/ / jQuery stopPropagation tylko dla niektórych klas elementów - jquery, zdarzenia

jQuery stopPropagation tylko dla niektórych klas elementów - jquery, events

Mam troche .myClass elementy z efektem aktywowania i chcę, aby tylko jeden z nich jednocześnie używał zdarzenia aktywowania, więc używam:

event.stopPropagation()

Ale ja też mam .myOtherClass i trzeba go również użyć tego zdarzenia aktywowania. Kiedy używam event.stopPropagation() w ogóle blokuje wydarzenie.

Jak zablokować propagację zdarzeń na .myClass ale nie blokuj tego .myOtherClass?

[edytować]

http://jsfiddle.net/K92Fe/ - po kliknięciu (najechanie kursorem lub cokolwiek innego) potrzebuję tylko one alert informujący, która klasa została kliknięta (szczytowa)

Odpowiedzi:

1 dla odpowiedzi № 1

Zakładam, że wybieracie jednocześnie obie klasy elementów, podobnie jak $(".myClass, .myOtherClass")?

Jeśli tak, możesz użyć has() w if instrukcja tylko stopPropagation dla wymaganej klasy.

Na przykład:

 $(".myClass, .myOtherClass").hover(function(e) {
if ($(this).hasClass("myClass") {
e.stopPropagation();
};

// hover logic
});

AKTUALIZACJA

Jeśli chodzi o skrzypce, wystarczy zadzwonić stopPropagation w każdym module obsługi zdarzeń:

$(".a").click(function(e){
e.stopPropagation();
alert("a clicked");
});
$(".b").click(function(e){
e.stopPropagation();
alert("b clicked");
});

Zaktualizowano skrzypce