Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery] click() na bloku A, ale nie na bloku B w bloku A
Forum PHP.pl > Forum > Po stronie przeglądarki
nmts
Nie mam pomysłu jak to rozwiązać.

http://83.22.65.178/test/ - tak wygląda w praktyce problem,

Chodzi o to, że mam zdarzenie click, na całej warstwie, ale nie chce, żeby się ono wykonywało jeśli klikłem na innej warstwie, która jest w tej głównej.

  1. $("#content_normal").click(function(){
  2. $(".onclick").remove();
  3. $("form").append("<input type='input' style='margin-top:"+pageY+"px;margin-left:"+pageX+"px; position: absolute;' class='onclick' value='' />");
  4. $(".onclick").focus();
  5. });


Mogę to jakoś rozwiązać aby to co w click nie działało jeśli klikłem na blok wewnątrz $content_normal? Any ideas? tongue.gif
Berg
Zgaduje, nie mam pojęcia czy zadziała winksmiley.jpg

  1. $('#blok_1').not('#blok_2').click(function(){
  2. // Tutaj funkcja
  3. });


gdzie blok_2 znajduje się w blok_1.
ziqzaq
Spróbuj użyć tego: e.stopPropagation().
Edit:
przykład użycia
Kod
$('.message').click(function(e){
e.cancelBubble = true;
if(e.stopPropagation) e.stopPropagation();
alert('Klik na divie podrzednym');
});

Edit2: poprawka kodu
nmts
Cytat(ziqzaq @ 7.07.2009, 16:33:04 ) *
Spróbuj użyć tego: e.stopPropagation().
Edit:
przykład użycia
Kod
$('.message').click(function(e){
if(e.stopPropagation) e.stopPropagation();
alert('Klik na divie podrzednym');
});


Działa jak należy, dzięki. winksmiley.jpg

Kod
// [podrzedne]
$(".message").live("click", function(){
e.cancelBubble = true;
if(e.stopPropagation) e.stopPropagation();
}); // [/podrzedne]


Mam kłopot z powyższym kodem dla elementów asynchronicznie aktualizujących się.
W momencie kliknięcia na elemencie:
Kod
e is not defined
[Break on this error] e.cancelBubble = true;
ayeo
Kod
$(".message").live("click", function(e){
e.cancelBubble = true;
if(e.stopPropagation) e.stopPropagation();
})


A tak?
nmts
Ech faktycznie, jestem ślepy. No nic, zdarzą się. winksmiley.jpg
Błędu nie ma, ale całość i tak mi nie działa gdy używam live zamiast click bez względu czy używam ajaxa czy nie.
erix
Daj gdzieś całość na żywo.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.