Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z bind('click',function(){})
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
zaajcu
Cześć.
Mam mały problem z click, a mianowicie mam taki kod html:

  1. <div class="to_click">
  2. Klikanie działa
  3. <div class="no_action">
  4. Klikanie nie działa
  5. </div>
  6. </div>


i kod javascript

  1. $('.to_click').bind('click',function(){
  2. alert('ok')
  3. })


problem polega na tym że jak kliknę w div.no_action to i tak mi alerta wywala :/ czy da się to jakoś obejść tak aby click tyczył się tylko i wyłącznie div.to_click a kliknięcie w dziecko tego diva nie było brane pod uwagę?
sowiq
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready( function(){
  2. $('.no_action').on('click', function(event){
  3. event.stopPropagation();
  4. });
  5. });
[JAVASCRIPT] pobierz, plaintext
zaajcu
Mam tylko z tym jeszcze mały problem ponieważ jak mam zamiast div.no_action, a.no_action i to a to jest ajax to mi ajax nie działa :/

  1. <div class="to_click">
  2. Klikanie działa
  3. <a class="no_action">
  4. Klikanie nie działa
  5. </a>
  6. </div>

sowiq
Jeśli elementy wybierasz po klasie (.no_action), to nie ma różnicy czy tam jest <div />, <a /> czy inny element. Przykład masz podany - musisz użyć event.stopPropagation() żeby uniknąć przekazywania zdarzenia do elementów nadrzędnych. A gdzie użyć tej metody, to już zostawiam Tobie jako pracę domową.
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.