![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w divie dałem sobie zdarzenie onclick, reaguje ono na całym divie. Chiałbym aby tak działało z wyłączenie inputów (jesli na nie klikne nie zadziała onclick), da się tak zrobić ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 159 Pomógł: 43 Dołączył: 8.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Opisz dokładniej problem bo nie za bardzo rozumiem o co Ci chodzi.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
to dodaj dla inputa onclick...
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem tak, wtedy najpierw wykonuje onclick dla inputa, a potem dla diva :/
|
|
|
![]()
Post
#6
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
to ty jak w końcu chcesz? usuń onclick z diva i będziesz miał tylko dla inputa.
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@piotroo no przeciez napisal wyraźnie:
Cytat Chiałbym aby tak działało z wyłączenie inputów @sannin daj dla inputa: onclick="return false;" powinno pomoc -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 6 Dołączył: 18.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Generalnie nie wiem czy da się ograniczyć wywołanie funkcji wybiórczo dla poszczególnych elementów DIV'a. Wydaje mi się, że parametr onclick jest "dziedziczony" przez całą treść, czyli wszystkie obiekty zawarte w tym DIV'ie (nie myl tego przypadkiem z dziedziczeniem w językach programowania). Można to jednak obejść na kilka sposobów. Np fizycznie przykryć inputy wyższymi elementami (css position). Można też wpłynąć na treść samej funkcji i określić jej zachowanie wg wskazanych warunków. Ja wykorzystałem i zmodyfikowałem event-handler znaleziony na necie:
Pewnie znajdzie się jakieś prostsze rozwiązanie... ale mi nic bardziej eleganckiego nie przychodzi do głowy. Ten post edytował pi_wo 21.04.2009, 10:01:40 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
http://www.quirksmode.org/js/introevents.html
Cytat Finally, you have to decide whether you want the events to bubble up. If you don’t want that to happen, stop the propagation of the event.
function doSomething(e) { if (!e) var e = window.event // handle event e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); } -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem że muszę teraz dać warunek w który inputy będą ignorowane ? W jaki sposób to wykryć ?
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 41 Dołączył: 6.04.2009 Skąd: Gdańsk/okolice Ostrzeżenie: (0%) ![]() ![]() |
podsumuj to co koledzy wyżej napisali:
potrzebujesz dodać do inputa zdarzenie onclick, a kod tego zdarzenia powinien się opierać na tym co napisał nospor. ta funkcja nie musi robić nic więcej, poza właśnie przechwyceniem kliknięcia i nie przekazywania go dalej. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, tylko że znamm tylko mierne podstawy JavaScript i nie wiem jak sprawdzić czy kliknięto input
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 6 Dołączył: 18.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Że tak bezczelnie zaflooduje, sprawdziłeś moje rozwiązanie ?
![]() Rozwijając to co napisałem wyżej:
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 41 Dołączył: 6.04.2009 Skąd: Gdańsk/okolice Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:01 |