mouseover gubi fokus preko <object>
Problem:
Imam jedan div. U tom div-u je flash object. Na div su "okačeni" events mouseover i mouseout. Ali dešava se problem sa FF. HTML kôd:
<div id=nekidiv onmouseover="nekaFunkcija();" onmouseout="drugaFunkcija();"> Probao sam da stavim i na object event mouseover, kao i mousemove da nista ne dira, medjutim, iznenadjujuce u IE sve radi kako je logicno (kako mi treba), medjutim u FF se izvrsi mouseout event cim predjem preko <object> što ne treba da se desi. Jel' ima neko neku ideju? |
Anybody? hitno je :)
|
aj pokusaj da ovako postavis object tag
HTML kôd:
<object type="application/x-shockwave-flash" data="fajl.swf" width="280" height="280"> |
jok, nije to problem, mislim da je u pitanju firefox koji ima svoje shvatanje. Radi kako treba u IE i operi.
|
1 Prilog(a)
Čudi me kad kažeš da radi u Operi, jer napravio sam test primer gde mi samo IE (ajd de, Maxthon) vraća događaj nad Flashom... Lepo se vidi da pri ulazu na svaki element unutar diva dolazi do okidanja onmouseout, ali odmah potom i ponovnog okidanja onmouseover (osim tamo gde zakine :-)
|
Evo, probao sam i ja isto. Sto je najgore, nije samo object problem, isto je i sa slikama. Recimo:
Kôd:
<div id="leftcolumn" onmouseover="nekaFunkcija();" onmouseout="drugaFunkcija();"> Inace, kod mene i IE6 poludi, ne samo FF. Ocigledno da zavisi od samog css stila koji definise div. |
Pogledaj ovo, cini mi se da je covek imao slican problem (a tu je i resenje)
http://forums.digitalpoint.com/showthread.php?t=20051 |
Nisam probao u operi, klijent je rekao da radi u operi normalno. Ja sam probao u IE i tu radi ok.
|
Citat:
Evo ja sam tek sada vidio problem, a da probaš da preko dijela gdje se nalazi flash u okviru <object></object> da apsolutno pozicioniraš jedan transparentan div? |
Ne može baš "preko" flasha. Flash ne trpi autoritet kao što je z-index, on je uvek "gore".
|
Daa, sad sam se malo igrao sa ovim problemom, vrlo nezgodno. Vidio sam tek sad da je flash autoritet, mada ova solucija sa z-index i transparentnim divom u nekim slučajevima može okej da posluži. Ma kao što je Korisnik rekao, ovi okidači zajebavaju. Čini mi se da je div možda moguće riješiti pomoću skripta koji mjenja pozadinski div (onmouseover="aktiviraj(this);"), odnosno mjenja recimo css #devprotalk u #devprotalk-active, s tim što je ovo prost efekat. Ništa od fenseraja. Možda ima nešto korisno u ALA članku iz 2002: http://www.alistapart.com/articles/flashsatay
|
Rešio sam problem sa flashom posle malo experimentisanja. Dakle, fora je da flash bude transparent, odnosno wmode="transparent". Onda, posto je windowless, ne preuzima fokus od div-a u kojem se nalazi.
Sto se tice praznog diva preko svega, ne funkcionise, probao sam to jos u pocetku. |
Medjutim... kad ono... sad se pojavio drugi problem u FF:
Kada je flash u DIV-u koji ima style="display:none;" flash se ne ucita. Holy schmoly :) U IE i Opera sve radi kako treba. |
Da, radi to. Može da bude problem u IE ako film i zaista jeste transparentan jer vraća fokus tek kada se miš postavi nad nekom "konkretnom" površinom filma. Jednostavno, definiciju za wmode transparent postaviš samo u embed tag, ne dodaješ ga kao parametar objekta i radi lepo.
Ne sviđa mi se što se pri ulasku i izlasku sa svakog child elementa okidaju onmouseout diva i potom ponovo onmouseover. Treba ovo imati na umu da ne dođe do pojave treptaja izmena koje čini out funkcija. Postavljanje timeouta od par desetinki može ovo da spreči. |
1 Prilog(a)
Citat:
Opet kačim primer... |
Ma da to, to je posebna stvar sto ga pokrece od pocetka (bug ili feature?), medjutim morao sam da postavim div na:
{ visibility: hidden; display: none; } pa na mouseover da ga vracam na: { visibility: visible; display: block } Jeste ruzno, ali tako radi. Na kraju se pojavio jos jedan problem: morao sam u isti div da uvedem i jedan dropdown - kada on dobije focus tek tu nastaje problem u svim browserima. |
Vreme je GMT +2. Trenutno vreme je 06:41. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.