ugrás a tartalomhoz

JS változóba egy fügvény kimenete

ksgy · 2007. Jan. 16. (K), 10.53
Hali!

Megpróbálom érthetően leírni mit is szeretnék :)

Van egy JS függvény, amivel létrehozok egy A taget. A függvényt mikor meghívom, átadok neki egy "link" paramétert, amivel később az onclick eseménybe kotorászok bele.

function createLink(link) {
  // létrehozom az A-t
  A.onclick = function() { loadLink(link); }
}
Namost, kellene nekem ez a link a későbbiekben, méghozzá úgy, hogy a getElementById-vel megkeresem az A taget (mindig másikat, nyilván :)) és kiszedem az onclick eseményéből a linket :)
Gyanítom, hogy túlbonyolítottam az egészet, vagy valami pofon egyszerű dolog :)

A createLink fuggveny egy cikluson belul fut le, es ezzel generalom a menut (XML-bol, ezert kell a JS). A loadLink azert kell, mert a menuben kijeloltte kell tenni az epp kivalasztott menut, es be kell tolteni egy iframeba az atadott linket, es meg par aprosagot elvegezni.

Koszi elore is!
(ps: most latom, bocs a feles ekezet/ekezetnelkulisegert :))
 
1

megoldva

ksgy · 2007. Jan. 16. (K), 11.37
a problem megoldva:
href-be is belerakom linket, az onclick-es fv vegere pedig kerul egy return false, igy a href-ben levo link nem nyilik meg, de onclick lefut :)

(thx to ashnur :))
2

Egy megoldás

w3net · 2007. Jan. 16. (K), 11.39
Az onclick esemémylekezelőből nem tudod kiszedni a linket.
Tetszőleges adatokkal bővithetel bármilyen JS objektumot, akár DOM objektumokat is. Példa:

function createLink(link) {
  // létrehozom az A-t
  A.onclick = function() { loadLink(link); }
  A._link = link;
}
ha már egyszer a DOM element tárolja a link-et, akkor ajánlanám az eseménylekezelőt igy megirni. Igy nem jön létre "closure".

function createLink(link){
  // létrehozom az A-t
  A.onclick = function() { loadLink(this._link); }
  A._link = link;
}
3

hmm

ksgy · 2007. Jan. 16. (K), 12.18
hm, en teljesen abban a hitben voltam, hogy csak olyan property-t lehet megadni az elemeknek, amit alapbol is tud a html :)