![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 12.07.2016 Ostrzeżenie: (0%) ![]() ![]() |
Mam następujący kod html:
I kod jquery: $("#a").on("click", function(){ $("#a").after('<div id="b" style="width:50px; height:50px; border:5px solid red;"></div>'); }); $("#b").on("click", function(){ alert('dasd'); }); Oczywiście alert się nie pojawia. Dlaczego? Jak zrobić, żeby działał? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 12.07.2016 Ostrzeżenie: (0%) ![]() ![]() |
ale #b nie jest dzieckiem #a, tylko to jest rodzeństwo, a delegacja dotyczy chyba relacji rodzic-dziecko
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ale dodajesz element dynamicznie w związku z czym nie istnieje w momencie gdy go wyszukujesz przez $("#b"). Znajdź rodzica wspólnego albo dodaj zdarzenie razem z elementem.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 12.07.2016 Ostrzeżenie: (0%) ![]() ![]() |
Dodaj zdarzenie razem z elementem? Pierwsze słyszę. Jak?
Rodzicem wspólnym jest <form>, a więc mam go dać jako drugi parametr? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
$("rodzic").on("click", "#b", function(){
alert('dasd'); }); |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 12.07.2016 Ostrzeżenie: (0%) ![]() ![]() |
$("#a").on("click", function(){
$("#a").after('<div id="b" style="width:50px; height:50px; border:5px solid red;"></div>'); }); $("#formularz").on("click", '#b', function(){ alert('dasd'); }); Nie działa, ale jak dla próby dałem body zamiast #formularz to działa. Trochę to dziwne, bo: $("body").on("click", '#b', function(){ alert('dasd'); }); Działa na kliknięcie #b a nie body |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Mam następujący kod html: I kod jquery: $("#a").on("click", function(){ $("#a").after('<div id="b" style="width:50px; height:50px; border:5px solid red;"></div>'); }); $("#b").on("click", function(){ alert('dasd'); }); Oczywiście alert się nie pojawia. Dlaczego? Jak zrobić, żeby działał? Bo "#b" jeszcze nie istnieje. Daj b.onclick wewnątrz a.onclick. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 12.07.2016 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wszystkim. Teraz mam dwa sposoby i nie wiem którego użyć. Wie ktoś, który lepiej działa? Delegacja, czy on click b wewnątrz on click a?
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wszystkim. Teraz mam dwa sposoby i nie wiem którego użyć. Wie ktoś, który lepiej działa? Delegacja, czy on click b wewnątrz on click a? Zdecydowanie delegacja. Zignoruj to co napisałem wcześniej, nie doczytałem wcześniejszych i nie zauważyłem, że już weszliście na wyższy poziom ![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 12.07.2016 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 218 Pomógł: 16 Dołączył: 6.06.2014 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 12.07.2016 Ostrzeżenie: (0%) ![]() ![]() |
Dałem już. Nie wiedziałem
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.07.2025 - 01:08 |