Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][CSS] zdarzenie onMouseOut
Skie
post
Post #1





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

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


Witam,
na stronce mam tabelkę, która w uproszczeniu tak wygląda:

Kod
<table>
<tr>
<td>
   <div>cos</div>
   <div>cos</div>
</td>
</tr>
</table>


Od razu dodam - NIE to nie jest nic związanego z szablonem strony, więc proszę bez głupich komentarzy typu "szkielet robi się na DIVach" - bo o tym każdy chyba wie smile.gif

Chodzi mi o to, że chcę tak zrobić by wykonywała się pewna funkcja JS, gdy kursor jest poza znacznikami <div> (oboma!). Więc nadałem zdarzenie onMouseOut najpierw na <tr> a potem próbowałem nadać na <td>, w ostateczności nawet "otoczyłem" te dwa <div> jeszcze innym <div> i jemu nadać onMouseOut - niestety efekt zawsze był taki sam - funkcja się wykonywała nawet wtedy, gdy ktoś przesuwał kursor myszy z jednego <div> na drugi ;/

Wie ktoś dlaczego tak się dzieje?


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
EarthCitizen
post
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

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


Ale ta funkcja ma się odpalić w momencie zjechania z <div> myszką?
Go to the top of the page
+Quote Post
Skie
post
Post #3





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

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


W momencie, gdy user wyjedzie myszką poza oba <div> lub tez poza <td> lub <tr> - obojetne mi to, gdyż nie ma tam żadnych paddingów, marginów ani borderów.


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
EarthCitizen
post
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

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


No to daj onmouseout dla całej tabelki
Go to the top of the page
+Quote Post
batman
post
Post #5





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Twój problem nie jest taki banalny jakby się mogło wydawać.
Bazując na Twoim kodzie:
1. Ustawiasz na td zdarzenie mouseout.
2. Przesuwasz mysz nad jakiegoś div-a.
3. Mimo, że cały czas jesteś myszką nad td, to wywoływane jest zdarzenie mouseout.

Jeśli usuniesz div-y z td i zostawisz go pustego, wówczas skrypt będzie działał poprawnie. Dzieje się tak dlatego, że przesunięcie myszy nad div-a, nawet takiego, który znajduje się w td, oznacza, że wskaźnik nie jest już bezpośrednio nad td, tylko nad innym elementem.

Więcej szczegółów znajdziesz tutaj.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
Skie
post
Post #6





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

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


Cytat(EarthCitizen @ 21.01.2009, 20:02:07 ) *
No to daj onmouseout dla całej tabelki


Nie mogę gdyż, w tej tabelce jest jeszcze jedno <tr> i </tr>.

~ dzięki za linka batman: poczytam, na pewno się przyda ;-)


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 11:21