Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Wykrycie "click" każdego z wyjątkiem UL
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
grzana12
Kombinuję jak zrobić aby wychwycić pewne zdarzenie click. Chodzi o to, że jak kliknę gdziekolwiek z wyjątkiem znacznika ul zawierającego class = "cos" to ma się dziać pewna akcja. Kombinuję na prawo i lewo i nie mogę tego zrobić. Poniżej coś co stworzyłem i powinno działać:
  1. <?php
  2. $("*:not(ul[class='cos')").click(function() {
  3.         //akcja
  4.     });
  5. ?>
erix
Kod
$("*:not(ul[class='cos')").click(function() {

Nie zamknąłeś jednego nawiasu?

Jeśli masz tylko jedną klasę w elemencie, to możesz w ostateczności użyć tego: http://docs.jquery.com/Selectors/attribute...#attributevalue
grzana12
Nawiasu przy przepisywaniu zapomniałem. W oryginale jest. Jak wezmę atrybut != value to w wyniku dostanę tylko selektory które nie mają danego atrybutu. A muszę mieć wszystkie (!) elementy które nie mają tego atrybutu. Przynajmniej tak mi się wydaje.
erix
Kod
$('ul:not(.klasa)')
winksmiley.jpg
grzana12
Takie coś działa w momencie jak kliknę na inny ul niż zawierający .klasa. A powinno również zadziałać dla znaczników takich jak div czy też table. Ponieważ po wykryciu akcji click ma znikać pewna zawartość jak się kliknie gdziekolwiek na stronie. Wyjątkiem tego znikania ma być właśnie ten ul zawierający .klasa
Myślę że chyba jasno opisałem problem. biggrin.gif
erix
Myślenie nie boli, chyba potrafisz sobie podstawić do tego schematu odpowiednie dane, nie? Już naprawdę niewiele zostało do rozwiązania problemu, tylko się wysil. tongue.gif
grzana12
niestety od myślenia nie boli, a czasami powinna biggrin.gif
zrobiłem tak:
[kod]$('*:not(.klasa)')[/kod]
i ruszyło, ale okazuje się że jakiś inny błąd jeszcze jest, ale to już z czym innym. Dzięki bardzo za pomoc.
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.