Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery] własna lista rozwijana
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
phpowiec84
wykonałem własną liste rozwijaną (autocomplete <ul><li>) która zawiera podpowiedzi dla danego pola ,
jak wykryć kliknięcie po za listą <ul> aby ją ukryć ?
vokiel
Wykryj kliknięcie na document, a z tego odfiltruj kliknięcie w obrębie ul
phpowiec84
z tym kliknięciem na dokument rozumiem ,tylko niewiem jak "odfiltrować kliknięcie w ul" sad.gif
vokiel
Korzystasz z jQuery, tak?

[JAVASCRIPT] pobierz, plaintext
  1. $(document).on('click',function(){
  2. var $this = $(this);
  3. if ( $this.not('#ul_id') ){
  4. // ok
  5. }else{
  6. // ignore
  7. }
  8. });
[JAVASCRIPT] pobierz, plaintext
phpowiec84
Tak ,korzystam z Jquery
ale niestety nie działa,powoduję błąd javascript sad.gif(
PlayKiller
Spróbuj tak:

[JAVASCRIPT] pobierz, plaintext
  1. $(document).click(function(){
  2. if ($(this).not('#ul_id') )
  3. {
  4. alert('poza lista')
  5. }
  6. else
  7. {
  8. alert('w liscie');
  9. }
  10. });
[JAVASCRIPT] pobierz, plaintext
phpowiec84
Dostaję alert po za listą sad.gif

vokiel
Może tak:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).on('click', function(e) {
  2. var clicked = $(e.target);
  3. if ( clicked.attr('id') == 'ul_id'){
  4. // w obrębie listy ul
  5. }else{
  6. // poza listą
  7. }
  8. });
[JAVASCRIPT] pobierz, plaintext
phpowiec84
wtedy konsola wypluwa mi : Uncaught TypeError: Object #<Object> has no method 'on' , dla document
vokiel
Podepnij jQuery w wersji 1.7, bo pewnie korzystasz ze starej
PlayKiller
Przecież to jest ciągle ten sam kod, tylko napisany w inny sposób. Źle podpinasz to pod HTML, skoro nie działa. Pokaż jak to wygląda.
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.