Timo "God's Boss" Reitz: document.getElementById is null

Beitrag lesen

Die Javascript Konsole in Firefox sagt mir bei folgendem Script die ganze Zeit dass "curbutton" null ist:

Wann sagt sie es? Bei Aufruf von initbuttons oder bei Testen der Eventhandler?

for each (var xbutton in wordxbuttons) {

for each wird nicht von jedem Browser unterstützt, beispielsweise Internet Explorer. Eine herkömmliche for-Schleife reicht völlig.

curbutton = document.getElementById(xbutton.name);

curbutton.unselectable = "on";
curbutton.onmousedown = function() { curbutton.src = ('images/wordx/active/' + xbutton.img + '.gif'); if (evt.preventDefault) evt.preventDefault() };

Du produzierst an genau dieser Stelle einen Closure, den du sicher nicht haben willst. curbutton verweist nicht auf das Element, dem du den onmousedown-Hanlder zuweist, sondern auf das Element, das im letzten Schleifendurchlauf gefunden wurde. Mit `xbutton`{:.language-javascript} hast du das gleiche Problem.  
  

> Dabei ist das absoluter Unsinn. "curbutton" ist im Dokument wie folgt ausgeschrieben: "<img src="" id="wordxbold" alt="">"  
> Vielleicht weiß jemand von euch Rat? Wäre für jede Hilfe dankbar.  

Wann wird `initbuttons`{:.language-javascript} aufgerufen? Nach dem Laden des Dokuments?

-- 
Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.  
  
Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|