Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS][jQuery], Odczytywanie id jednego diva podczas przesuwania kursorem innego diva
stud3nt
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 7
Dołączył: 6.01.2012

Ostrzeżenie: (0%)
-----


Mam dwa divy. Napisałem już prosty skrypt, który umożliwia przesuwanie obydwu w pionie i poziomie. Działa na zasadzie: najeżdżasz na div, wciskasz i trzymając przycisk myszy przeciągasz. Puszczając przycisk myszy, upuszczasz. Działa to dobrze problemu z tym akurat nie ma.

Pytanie jest takie: czy jest metoda/sposób, aby odczytać id div nr 2 (czy innego dowolnego elementu) w momencie, gdy 'trzymając' i przesuwając div nr 1 najeżdżam na 2 kursorem? Wszelkie metody, jakich próbowałem, dają mi odczyt diva nr 1 (logiczne, on jest na wierzchu...). Da się to jakoś ominąć?

W zamierzeniu, chcę stworzyć konfigurowalną listę z możliwością przeciągania i upuszczania elementów. Są takie skrypty, ale po pierwsze - uczę się i chcę to zrobić sam, a po drugie - są to wielkie, kilkunastokilobajtowe kobyły w czystym JS.

Ten post edytował stud3nt 31.08.2012, 16:18:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


Cytat(stud3nt @ 31.08.2012, 17:15:48 ) *
Pytanie jest takie: czy jest metoda/sposób, aby odczytać id div nr 2 (czy innego dowolnego elementu) w momencie, gdy 'trzymając' i przesuwając div nr 1 najeżdżam na 2 kursorem? Wszelkie metody, jakich próbowałem, dają mi odczyt diva nr 1 (logiczne, on jest na wierzchu...). Da się to jakoś ominąć?

jest na to kilka sposobów...

jeśli kontenerów do upuszczania miałbyś wiele i dodatkowo element upuszczany koniecznie chcesz trzymać pod myszką, to musisz sprawdzać pozycję myszki w stosunku do tamtych kontenerów...

inny prosty sposób to lekkie przesunięcie upuszczanego elementu w stosunku do myszki tak by nie przysłaniał elementów pod myszką, wtedy bez problemu otrzymasz dostęp do elementów znajdujących się niżej... oczywiście jeśli masz wiele kontenerów optymalnie by było nie podpinać zdarzenia pod każdy kontener do upuszczania a pod jakiś nadrzędny element i skorzystać np. z .delegate w jQuery (odpowiednik .live ale lepszy - nie chce mi się rozpisywać)... i tu dobrze by było, gdybyś rozumiał propagację zdarzeń itd., dobrze by było, gdybyś się zapoznał np. z tym blogiem by rozumieć jak to jest rozwiązane w czystym JS (a potem byś korzystał np. z jQuery chyba, że wolałbyś pisać swoje rozwiązania) http://www.quirksmode.org/js/contents.html#events

poza tym przeczytaj o drag and drop w HTML5:
Native HTML5 Drag and Drop
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 10:20