Problem z oblsuga onmouseout w Mozilli
dejf - 13-03-2006 11:39
Problem z oblsuga onmouseout w Mozilli
Witam
Mam pewien problem prostym skryptem, ktory wyswietla ukrytego div'a, po wskazaniu kursorem fragmentu tekstu. Warstwa pojawia sie poprawnie, jednak sa klopoty z ponownym jej schowaniem - wylacznie w Mozilli - tak jakby przegladarka nie reagowala na zdarzenie onmouseout. W rzeczywistoscie reaguje - ale wybiorczo, np. za drugim razem, albo przy szybkim przesunieciu kursora, itd. Poczatkowo myslalem ze jest to problem wynikajacy z z-index ale zmiana wartosci nie pomaga. W IE zadnych klopotow. Bede wdzieczny za sugestie. Mozilla 1.7.8 pod Win. Dla zobrazowania problemu podaje uproszczony do minimum kod:
<div onmouseover="showHint()" onmouseout="hideHint()"> <div>POKAZ PODPOWIEDZ</div> <div id="hint" style="display: none; position: absolute; z-index: 0;" onmouseout="hideHint()"> Jakis tekst </div> </div>
funkcje showHint i hideHint to tylko wyswietlenie/ukrycie warstwy - zalezne od przegladarki. Dzialaja prawidlowo. Jedyny klopot tylko w tym ze Mozilla nie zawsze reaguje na onmouseout. Aha - co wazne - zauwazylem robiac rozne testy, ze problem dotyczy wylacznie onmouseout diva z position ustawionym na absolute. Tak wiec onmouseout zewnetrznego diva dziala za kazdym razem prawidlowo (a wiec warstwa wewnetrzna schowa sie, przy wycofaniu kursora myszy do gory, ponad napis "pokaz podpowiedz").
Dziekuje z gory za odpowiedz i pozdrawiam David
Artur M. Piwko - 13-03-2006 11:39
In the darkest hour on 7 Mar 2006 13:47:50 -0800, dejf <ddrosier@gmail.com> screamed: > Mam pewien problem prostym skryptem, ktory wyswietla ukrytego div'a, po > wskazaniu kursorem fragmentu tekstu. Warstwa pojawia sie poprawnie, > jednak sa klopoty z ponownym jej schowaniem - wylacznie w Mozilli - tak > jakby przegladarka nie reagowala na zdarzenie onmouseout.
A wiesz co czego służy :hover w CSS?
-- [ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:235B ] [ 23:53:00 user up 10908 days, 11:48, 1 user, load average: 0.06, 0.06, 0.06 ]
A computer scientist is someone who fixes things that aren't broken.
dejf - 13-03-2006 11:39
Przeszukujac archiwum grupy zauwazylem ze ton udzielnia odpowiedzi jest tutaj dosc specyficzny :-) Odpowiadajac - wiem do czego sluzy hover i wiem tez ze w tym konkretnym przypadku nie zrobie z jego uzyciem aplikacji przenosnej miedzy przegladarkami. Poza tym moje pytanie dotyczylo dziwnego zachowania Mozilli a nie rozwiazania konkretnego problemu. Przedstawiony w moim poscie przyklad to tylko uproszczony sposob zobrazowania problemu. Sugestia bym zamiast skryptu uzyl CSSa w zaden sposob nie tlumaczy zachowania Mozilli w konkretnym przypadku, co jest przedmiotem mojego zainteresowania. Tym nie mniej dziekuje za odpowiedz i pozdrawiam. David
ethanak - 13-03-2006 11:39
On 2006-03-07 22:47, dejf wrote: [...] > Dla zobrazowania problemu podaje uproszczony do minimum kod:
Bieco za bardzo uproszczony - rzuć linkiem do czegoś więcej. [...] > funkcje showHint i hideHint to tylko wyswietlenie/ukrycie warstwy - > zalezne od przegladarki. Dzialaja prawidlowo.
A ja bym tu właśnie szukał problemu. Rzecz w tym że jeśli masz w kodzie tylko to co przedstawiłeś - to JavaScriptu potrzebujesz tylko dla IE, reszta świata rozumie div:hover
Akurat niedawno coś podobnego robiłem - możesz podpatrzeć na www.3alink.pl/cennik.shtml (skrypty są jeszcze do przejrzenia ale działają)
ethanak -- mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20=');
Artur M. Piwko - 13-03-2006 11:39
In the darkest hour on 7 Mar 2006 16:20:26 -0800, dejf <ddrosier@gmail.com> screamed: > Przeszukujac archiwum grupy zauwazylem ze ton udzielnia odpowiedzi jest > tutaj dosc specyficzny :-) Odpowiadajac - wiem do czego sluzy hover i > wiem tez ze w tym konkretnym przypadku nie zrobie z jego uzyciem > aplikacji przenosnej miedzy przegladarkami. Poza tym moje pytanie > dotyczylo dziwnego zachowania Mozilli a nie rozwiazania konkretnego > problemu. Przedstawiony w moim poscie przyklad to tylko uproszczony > sposob zobrazowania problemu. Sugestia bym zamiast skryptu uzyl CSSa w > zaden sposob nie tlumaczy zachowania Mozilli w konkretnym przypadku, co > jest przedmiotem mojego zainteresowania. Tym nie mniej dziekuje za > odpowiedz i pozdrawiam. >
Moim zdaniem CSS lepiej się z tego zadania wywiąże. Być może będzie się to wiązało z dodaniem (gotowego) behavioru dla IE, ale ten typ już tak ma.
-- [ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:217B ] [ 09:08:29 user up 10909 days, 21:03, 1 user, load average: 0.06, 0.06, 0.06 ]
PLEASE ignore the previous rumor.
Artur M. Piwko - 13-03-2006 11:39
In the darkest hour on Wed, 08 Mar 2006 06:53:52 +0100, ethanak <sweethanak@buziaczek.pl> screamed: > A ja bym tu właśnie szukał problemu. > Rzecz w tym że jeśli masz w kodzie tylko to co przedstawiłeś - to > JavaScriptu potrzebujesz tylko dla IE, reszta świata rozumie div:hover >
IE też po dodaniu odpowiedniego behavioru.
-- [ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:226B ] [ 09:09:26 user up 10909 days, 21:04, 1 user, load average: 0.06, 0.06, 0.06 ]
Meets quality standards: Compiles without errors.
ethanak - 13-03-2006 11:39
Artur M. Piwko napisał(a): > In the darkest hour on Wed, 08 Mar 2006 06:53:52 +0100, > ethanak <sweethanak@buziaczek.pl> screamed: > >>A ja bym tu właśnie szukał problemu. >>Rzecz w tym że jeśli masz w kodzie tylko to co przedstawiłeś - to >>JavaScriptu potrzebujesz tylko dla IE, reszta świata rozumie div:hover >> > > > IE też po dodaniu odpowiedniego behavioru. > Po dodaniu tłumacza to ja całkiem nieźle rozumiem chiński ;)
ethanak -- mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20='); /* Pisze człowiek ambitnie, a tu przychodzi prostak i wszystko rozumie. To jest ewidentna bezczelność! S. Friedmann/J. Kofta */
dejf - 13-03-2006 11:39
Witam
Dziekuje za odpowiedz. Chyba niejasno sprecyzowalem problem - nie bardzo mnie interesuje jak w moim prostym przykladzie mozna to inaczej rozwiazac (CSS itd) - bardziej interesuje mnie rozne zachowanie Mozilli w stosunku do IE. Czyli czemu zdarzenie onmouseout nie zawsze wykonuje sie poprawnie w przypadku warstwy zdefiniowanej z position: absolute. Jesli kod funkcji showHint, hideHint moze jakos pomoc, przedstawiam go, choc naprawde nie ma tu zadnych cudow:
function hideHint() { if( document.getElementById ) document.getElementById('hint').style.display = 'none'; else if( document.all ) document.all.hint.style.display = 'none'; }
Funckja hideHint analogicznie,z .display = 'block' I jeszcze raz - nie interesuje mnie transformacja przykladu (znam podstawy CSS :-) ) - to tylko przyklad do zobrazowania zagadnienia - bardzo prosty ale wystarczajacy by Mozilla sobie z nim nie radzila poprawnie. Chcialbym po prostu wiedziec czy ktos z Grupowiczow mial podobny problem i wie dlaczego tak sie dzieje oraz jak to rozwiazac.
pozdrawiam i z gory dziekuje David
ethanak - 13-03-2006 11:39
dejf napisał(a): [...]
> Chcialbym po prostu wiedziec czy ktos z Grupowiczow mial > podobny problem i wie dlaczego tak sie dzieje oraz jak to rozwiazac.
Wygląda na buga w Mozilli (w nowszej wersji Gecko - FF1.5 - zachowuje się poprawnie).
ATSD onmouseout w wewnętrznym divie (tym absolute) jest niepotrzebny.
ethanak -- mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20='); /* Pisze człowiek ambitnie, a tu przychodzi prostak i wszystko rozumie. To jest ewidentna bezczelność! S. Friedmann/J. Kofta */
Artur M. Piwko - 13-03-2006 11:39
In the darkest hour on Wed, 08 Mar 2006 09:13:34 +0100, ethanak <sweethanak@buziaczek.pl> screamed: >>>A ja bym tu właśnie szukał problemu. >>>Rzecz w tym że jeśli masz w kodzie tylko to co przedstawiłeś - to >>>JavaScriptu potrzebujesz tylko dla IE, reszta świata rozumie div:hover >>> >> >> IE też po dodaniu odpowiedniego behavioru. >> > Po dodaniu tłumacza to ja całkiem nieźle rozumiem chiński ;) >
A tak? (-: http://www.xs4all.nl/~peterned/csshover.html
-- [ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:222B ] [ 21:07:19 user up 10909 days, 9:02, 1 user, load average: 0.06, 0.06, 0.06 ]
Computers do it 30 million times a second.
ethanak - 13-03-2006 11:39
Artur M. Piwko napisał(a): [...] >>Po dodaniu tłumacza to ja całkiem nieźle rozumiem chiński ;) >> > > > A tak? (-: > http://www.xs4all.nl/~peterned/csshover.html > Też tłumacz tylko inny :)
Tego sposobu sam czasami używam w prostszych przypadkach (czytaj: jak mi się nie chce) ale wolę podczepić dla IE swoje funkcje, które czasami muszą zrobić trochę więcej niż tylko zmienić klasę (choćby zabawa z selectami). A poza tym to nie działa ze wszystkimi możliwymi kombinacjami w css-ie.
ethanak -- mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20='); /* Pisze człowiek ambitnie, a tu przychodzi prostak i wszystko rozumie. To jest ewidentna bezczelność! S. Friedmann/J. Kofta */
Artur M. Piwko - 13-03-2006 11:39
In the darkest hour on Thu, 09 Mar 2006 07:56:33 +0100, ethanak <sweethanak@buziaczek.pl> screamed: >> A tak? (-: >> http://www.xs4all.nl/~peterned/csshover.html >> > Też tłumacz tylko inny :) >
Ale ma tę zaletę, że hover w przeglądarkach obsługujących hover w CSS obsługujesz jak normalny czarny człowiek, a w miśku za pomocą ichniego wynalazku. Rezygnacja z realizacji hovera javascriptem niesie za sobą dosyć duże korzyści wydajnościowe.
> Tego sposobu sam czasami używam w prostszych przypadkach (czytaj: jak mi > się nie chce) ale wolę podczepić dla IE swoje funkcje, które czasami > muszą zrobić trochę więcej niż tylko zmienić klasę (choćby zabawa z > selectami). A poza tym to nie działa ze wszystkimi możliwymi > kombinacjami w css-ie. >
Nie testowałem na wszystkich możliwych kombinacjach, ale: - działało na td:hover - w końcu chyba nie bez przyczyny autor nazwał to whatever:hover (-:
-- [ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:223B ] [ 18:50:01 user up 10910 days, 6:45, 1 user, load average: 0.06, 0.06, 0.06 ]
Jeśli nie masz po co żyć, żyj na złość innym.
ethanak - 13-03-2006 11:39
On 2006-03-09 18:53, Artur M. Piwko wrote: [...]
> A poza tym to nie działa ze wszystkimi możliwymi >> kombinacjami w css-ie. >> > > Nie testowałem na wszystkich możliwych kombinacjach, ale: > - działało na td:hover
Łojoj! > - w końcu chyba nie bez przyczyny autor nazwał to whatever:hover (-:
A dokumentację przeczytałeś ze szczególnym uwzględnieniem gdzienie działa i dlaczego?
whatever:hover nie jest równoznaczne z whatever:hover [cośtam] cośtam.
ethanak -- mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20=');
Artur M. Piwko - 13-03-2006 11:39
In the darkest hour on Thu, 09 Mar 2006 19:12:45 +0100, ethanak <sweethanak@buziaczek.pl> screamed: >> Nie testowałem na wszystkich możliwych kombinacjach, ale: >> - działało na td:hover > > Łojoj!
A jednak. <:
>> - w końcu chyba nie bez przyczyny autor nazwał to whatever:hover (-: > > A dokumentację przeczytałeś ze szczególnym uwzględnieniem gdzie nie > działa i dlaczego? > whatever:hover nie jest równoznaczne z whatever:hover [cośtam] cośtam. >
Nie jest równoznaczne, ale można dodać odrobinę crappy-css używając comment ifów miśka.
-- [ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:223B ] [ 22:37:28 user up 10910 days, 10:32, 1 user, load average: 0.06, 0.06, 0.06 ]
My mail reader can beat up your mail reader.
ethanak - 13-03-2006 11:39
On 2006-03-09 22:38, Artur M. Piwko wrote: [...] >> whatever:hover nie jest równoznaczne z whatever:hover [cośtam] cośtam. >> > > Nie jest równoznaczne, ale można dodać odrobinę crappy-css używając > comment ifów miśka. > Powiedz mi, ale tak szczerze:
Dlaczego próbujesz mi udowodnić że napisanie własnej kilkulinijkowej prostej funkcji jest gorsze niż użycie kilkukilobajtowego gotowca + dodatkowo protezowanie tego ifami w miejscach do których pomieniony gotowiec się nie nadaje?
ethanak -- mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20=');
Artur M. Piwko - 13-03-2006 11:39
In the darkest hour on Fri, 10 Mar 2006 08:13:49 +0100, ethanak <sweethanak@buziaczek.pl> screamed: >> Nie jest równoznaczne, ale można dodać odrobinę crappy-css używając >> comment ifów miśka. >> > Powiedz mi, ale tak szczerze: > > Dlaczego próbujesz mi udowodnić że napisanie własnej kilkulinijkowej > prostej funkcji jest gorsze niż użycie kilkukilobajtowego gotowca + > dodatkowo protezowanie tego ifami w miejscach do których pomieniony > gotowiec się nie nadaje? >
Ponieważ mój czas jest odrobinę zbyt cenny, by poświęcać czas na łatanie krapowatych przeglądarek. I tak trzeba już wystarczająco rzeźbić w zwykłym css-ie. Po drugie - mechanizm addBehavior()/removeBehavior() z moich obserwacji jest szybszy niż zwykłe eventy.
-- [ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:222B ] [ 09:06:27 user up 10911 days, 21:01, 1 user, load average: 0.06, 0.06, 0.06 ]
I don't live in fantasy; I only work there.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
mysql i mysql-front, problem
String line; if (line=="cos"){...}....problem
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
[postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?=
[oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?=
Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ]
[PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ?
[MySQL] Problem z zapisem danych w bazie danych
Problem z mysql - can't connect to MySQL/nietypowo...
zanotowane.pldoc.pisz.plpdf.pisz.plmarcelq.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|