iPad oraz :hover dla li, ul, div itp.

Dodany: Kwiecień 30th, 2013 | Kategoria: JavaScript

W iPadzie ze względu na brak myszki jest problem ze stanem hover. Apple obeszło nieco problem i naciśnięcie na element a, który posiada styl a:hover powoduje użycie tej klasy, jednak problemem robi się, gdy jest to inny element. W moim przypadku była to lista.
Na podstawie informacji wygrzebanych w sieci, znalazłem dwa rozwiązania:

1) dodać

1
onclick="return true;"

na elemencie który ma mieć hover
2) jeśli są jakieś sub-elementy to dodać na nich

1
display: block

aby się pokazywały

Tagi: , , , , , , , , Brak komentarzy »

jQuery .on() zamiast .live() i .delegate()

Dodany: Styczeń 11th, 2013 | Kategoria: JavaScript

Musiałem poprawić pewien skrypt, a ponieważ część elementów była tworzona dynamicznie i wtedy musiałem do nich podpiąć event, najprościej było użyć .live() z jQuery – niestety od wersji 1.7+ .live() ma status deprecated. Tak samo jak .delegate(), które działało podobnie. Zaleca się używanie .on(), które działa podobnie do .bind().
Niestety i tutaj miałem problemy… użycie .on() na konkretnych elementach przypinało event tylko jeśli istniały one w momencie wykonania, a już nie dodawało i nie obserwowało powstawania nowych takich elementów. Po chwili googlania po sieci, znalazłem rozwiązanie – element dla którego trzeba wykonać .on(), to document, natomiast jako drugi parametr podaje się którego elementu .on() ma dotyczyć:

//wersja z live - deprecated
$('.class a').live(function(){ /* xxx */ });

//poprawnie
$(document).on('click', '.class a', function(){ /* xxx */ });

I teraz dodane dynamicznie elementy będą event click wykonywać.

Tagi: , , , , , 1 Komentarz »

JavaScript: dowolny znak włącznie ze znakiem nowej linii

Dodany: Maj 12th, 2011 | Kategoria: JavaScript

Szukałem tego dość długo, bo potrzebowałem zmieniać BBCode tabelek nawet, gdy tag otwierający i zamykający są w różnych liniach. W końcu trafiłem na rozwiązanie, jak dobrać taki ciąg…

1
[^]+

Równie krótkie co (.*?), a łapie znacznie więcej ;) Teraz mogę bez problemu zaczynać [/table] kilkanaście linijek niżej, niż otworzyłem. Uf.

via http://siphon9.net/loune/2011/02/match-any-character-including-new-line-in-javascript-regexp/

Tagi: , , , Brak komentarzy »