![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Robię schowek i mam problem z usuwaniem elementów ze schowka. Każdy element ma tą samą klasę class="schowek" lub class="delschowek" domyślnie jest ustawiona classa na schowek. Każdy element ma odnosnik "a" do dodawania elementu do schowka, odnośnik wygląda tak Gdy kliknę w/w odnośnik zmienia mi się classa na "del schowek" i text z "Dodaj do schowka" na "Usuń ze schowka", więc odnośnik wygląda tak. Jeśli kliknę na Dodaj do schowka to wszystko działa, zmienia odnośnik na Usuń ze schowka i ustawia klasę na "delschowek" ale jeśli kliknę na ten sam odnośnik który zmienił się na Usuń ze schowka to już nie zmienia classy na "schowek". Wygląda tak jakby pomimo ustawionej classy na delschowek on wykonuje funkcje przeznaczona dla classy schowek. Kod
Ten post edytował markus29 7.03.2013, 14:19:10 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Bo to tak nie działa.
W przypadku przypisania zdarzenia przypisujesz je konkretnemu elementowi, a nie konkretnej klasie. Inaczej mówiąc przy uruchomieniu tego skryptu "szukasz" elementów o danej klasie i tym elementom przypisujesz funkcję, która jest tam nijako na stałe, czyli zmieniając klasę nie zmieniasz funkcji. Rozwiązanie jest proste. Trzeba wraz z klasą zmieniać też funkcję w zdarzeniu. W czystym JS zrobiłbyś to tak, że dopisałbyś: Kod costam.onclick = function(){ this.nazwaKlasy = "nowa Klasa"; this.onclick = nowaFunkcja; } Ale, że Ty korzystasz z jQuery to masz 2 wyjścia: 1. Tak samo jak w JS, czyli dopisać: Kod $( this ).click( nowaFunkcja ); 2. Kazać jQuery zrobić to za Ciebie, czyli użyć .... no właśnie czegoś tam. Kiedyś było to chyba .live ,a teraz używa się bodajże samego .on. Jest to lepsze rozwiązanie od tego pierwszego. Jednak mało używam jQuery, więc musisz doczytać samemu w dokumentacji na ten temat, Pozdrawiam |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Mistrzu działa elegancko z .on
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 1.10.2025 - 07:21 |