JavaScript-eseménykezelő paramétereinek felülírása futásidőben
Üdv,
Azt meg lehet csinálni valahogyan, hogy egy eseménykezelő függvény felülírja a saját paraméter listáját, tehát hogy az adott esemény újbóli kiváltásakor az eseménykezelő paraméter listáján az esemény kezelő megelőző lefutásakor kiszámolt értékek legyenek?
Valami ilyesmire gondoltam:A fenti módszert kirpbóálva, az esemény újra és újra meghívódot, végtelen ciklusba futott a szkript. Próbáltam ezt is :
d.onclick = "change('image',e,f);";
Ez sem volt jó, erre az alert(d.onclick); "null" értéket dobott vissza.
Googliztam egy csomót de nem találtam erre megoldást....
■ Azt meg lehet csinálni valahogyan, hogy egy eseménykezelő függvény felülírja a saját paraméter listáját, tehát hogy az adott esemény újbóli kiváltásakor az eseménykezelő paraméter listáján az esemény kezelő megelőző lefutásakor kiszámolt értékek legyenek?
Valami ilyesmire gondoltam:
<img id="image" onclick="change('image',b,c)" />
function change(d,e,f) {
e= ,f= // kapnak valamilyen értéket
element = document.getElementById(d);
d.onclick = change ('image',e,f);
}
d.onclick = "change('image',e,f);";
Ez sem volt jó, erre az alert(d.onclick); "null" értéket dobott vissza.
Googliztam egy csomót de nem találtam erre megoldást....
Closure
Közvetlen eseménykezelő függvény megadása helyett egy azonnal lefutó névtelen függvényt adsz meg, ahol felveszed alapértelmezett értékekkel a kívánt változóid. Ezt követően a lefutás eredménye (visszatérési értéke) lesz a tulajdonképpeni eseménykezelő függvény, ami minden egyes meghívásakor hozzáfér és módosíthatja a külső változók értékeit.
Az alábbi példa az
image
elemre kattintások alkalmával a Fibbonachi-sorozat következő két elemét írja ki.Köszönöm, megpróbálom az
Itt
Closure nélkül is megoldható,