ugrás a tartalomhoz

onmouserover, onmouseout, onclick

Pal_ur · 2005. Ápr. 12. (K), 11.03
Üdv,

azt szeretném kérdezni, hogy el lehet-e érni valahogy, hogy ha az onmouseover eseményre kötnék valamit, akkor lefusson az onmouseout, viszont ha ugyanezt a funkciót az onclick eseménnyel hívom, akkor ne?

Köszi.
 
1

globális változó

zsepi · 2005. Ápr. 12. (K), 11.54
szerintem ez működhet:

var is_onmouseover = false;

function onmouseover_handler(event) {
 is_onmouseover = true;
 ...
}

function onclick_handler(event) {
 is_onmouseover = false;
 ...
}

function onmouseout_handler(event) {
 if(is_onmouseover) {
   ...
  is_onmouserover = false;
 }
}
2

uff...

Pal_ur · 2005. Ápr. 12. (K), 13.16
Nagyon izgalmas...

Valószínűleg pont ez kellene nekem, de kérem szépen, tedd meg, hogy egy icipicit jobbban kifejted.

Én a következőt szeretném:

az onmouseover és az onclick esemény meghívná az mutatos(id) függvényt, a torol() függvénynek viszont csak akkor szabadna lefutnia, ha a mutatos(id) függvény az onmouseover miatt futott le...

Mit, hova kell tennem?

(Bocs, de vannak még nagy titkok a JavaScriptben számomra....)

Nagyon köszi,
Pál_úr
3

Re: uff...

attlad · 2005. Ápr. 12. (K), 15.07
Így is megoldhatod egyszerűen:

<a onmouseover="kellTorles = true; mutatos();" onclick="kellTorles = false; mutatos();">x</a>


function mutatos()
{
[...]
if (kellTorles) torol();
[...]
}


Attila
4

köszi

Pal_ur · 2005. Ápr. 12. (K), 15.37
Ha minden igaz, majdnem jól megy :)

Annyi mindenképpen maradt, hogy mivel ez egy div megjelenését vagy eltűnését vezérelné, sajnos útl gyorsan lefut. Erre valami setTimeout-os játék marad...

Illetve még egy, ha visszatérünk az eredeti megállapításhoz, hogy hogy is lehetne elkapni az event-et? Magyarul az az onmouseout_handler() ügy érdekelne jobban...

Köszi.
Pál_úr
5

eseménykezelés

zsepi · 2005. Ápr. 12. (K), 16.17
http://weblabor.hu/cikkek/diszkretjavascript
de röviden

x = document.getElementById('show-hide-link');
x.onclick = onclick_handler;
x.onmouseover = onmouseover_handler;
x.onmouseout = onmouseout_handler;
ahol a jobbértékek a megfelelő (már definiált) függvények nevei
bár mivel show/hide a cél, akkor én inkább a megjelenő divbe tennék egy linket, hogy bezárhassa a látogató, mert a tagon belülre nem lehet divet beszúrni
6

Megoldódott...

Pal_ur · 2005. Ápr. 14. (Cs), 19.25
Szóval elkészült a 'megoldás':

készült egy kellTorles változó, alapértelmezett
var kellTorol = false;
állapottal.

Majd a html fájlban a következő került az a-ba:
<a onmouseover="kellTorol=true;mutatos('6');" onclick="kellTorol=false;mutatos('6');" onmouseout="torol();">

Végül:
function torol() {
    if(kellTorol == true)
        {
        [itt kerül törlésre]
        }
    kellTorol = false;
    }


Mindenesetre mindenkinek köszönöm a segítséget...
Pál_úr
7

Ha nem tortenik semmi...

fudom · 2005. Ápr. 27. (Sze), 17.01
Sziasztok!

Azt hogyan lehetne megoldani hogy ha mondjuk 10 percig nem tortenik semmi az oldalon ( az eger sem mozog ) akkor lefusson vmilyen 'esemeny' ?
pl: ha 2 percig nem mozog az eger, akkor egy alert ablakban irja ki hogy 2perce nem mozdult meg az eger.
koszi