jQuery tapasztalatok – változók átadása

A javascript egy elég keszekusza nyelv – aki foglalkozott már vele tudja miről írok. A keszekuszaságban vannak esetek, amikor jQuery barátunkkal objektumokon végzünk módosításokat, amik egy bizonyos function-ökben történnek. Biztos megfigyeltétek már: ha a function-nek van paramétere akkor a külső változók nem látszanak a function-ön belüli részek számára.

Agyaltam jó sokat, hogy hogyan lehetne e problémát kiküszöbölni – aztán megvilágosodtam.

Megoldás: set/get property írás/olvasás a html elemeken.

Használjuk az .attr() jQuery függvényt:


$("#akarmi").attr("data-post_id", "5");

Az .attr() metódusnak két “üzemmódja” van.

Ha egy paramétert kap akkor property olvasás van, ha két paraméter akkor key-value értékadás/beállítás.

Tehát a


<div id="akarmi">...</div>

elem a fenti js kód lefutása után lényegében így fog kinézni:


<div id="akarmi" data-post_id="5">...</div>

Amit aztán a


.attr("data-post_id")

metódussal vissza kiolvashatunk.

Hát nem egyszerű? 🙂

Egér mizéria – már megint

Vettem néhány hete egy 1800 Ft-os egeret. Semmi extra, működött. Aztán olyan jelenségre lettem figyelmes, hogy a bal gomb vacakol – van, hogy kettőt kattint egy nyomásra, van, hogy a drag&drop-nál elengedte a “fogást”. Visszavittem a boltba, hogy kontaktos a bal gomb, csináljanak vele valamit.
Feljegyezték az adatokat, aztán másnap hívnak, hogy ezt nem lehet garanciázni, mert a vezeték meg van törve. Mondom: 
“- De az egér működik, nem?
– Igen, működik.
– Akkor mit számít, hogy meg van törve a vezeték? Egyébként is ilyen volt már a dobozból kivéve (tudom, én voltam a hülye, hogy nem néztem meg az állapotát még a boltban).
– Hát de ezt akkor sem szervizelhetjük…”

Úgyhogy fogtam, hazahoztam szó nélkül, szétszedtem, a bal gombot kihajítottam belőle és egy kiselejtezett egérből kiszedtem egy pont ugyanolyan gombot és voilá – jó az egér.