torsten: script invalid

Beitrag lesen

moin!

danke für deine antwort und ne interessante homepage hast du da gelistet ;-)

ein paar der fehler hab ich dank deiner erklärung und etwas rumspielen gefunden und das ganze sieht jetzt so aus:

window.onload = function()  
{  
// link mit id="bla" fokussieren  
var toFocus = document.getElementById(window.location.hash.substr(1));  
    if (toFocus)  
    {toFocus.focus();  
// beim loesen der maustaste rahmen um link entfernen  
 for(i=0;i<document.links.length;i++)  
        {  
        document.links[i].onmouseup=function()  
                {  
                if(this.blur)  
                        {  
                            this.blur();  
                        }  
                };  
        }  
    }  
};

allerdings gibt sich die jsFiddle damit nicht zufrieden, ich habe gestern angefangen die self beschreibung für javascript zu lesen (ich komme wohl doch nicht drum'rum) würde mein problem aber gern schneller lösen als ich in der lage bin zu lernen...

folgendes wirft mir die jsFiddle jetzt vor:

Error:
Problem at line 17 character 9: Don't make functions within a loop.
}

Die anonyme Funktion, welche du in der Schleife definierst, hat gar keinen Bezug zur Schleifenvariable o.ä.. Du kannst diese also auch außerhalb der Schleife einer Variablen zuweisen und brauchst nur noch diese Variable nutzen.

welches ist die "anonyme Funktion"? wie bekomm ich die da raus ohne schaden anzurichten und wie bekomm ich die variable dann da rein mit positivem ausgang? iregnd wie sehe ich da nur einene methode den das lösen der maustaste zu definieren...

Implied global: window 1,4, i 8,10

Wenn du Variablen nicht mit var bekannt machst, sind diese automatisch global. Dies sollte man i.d.R. vermeiden.

vermieden heißt ja nicht FALSCH oder? selfhtml sagt dazu "Sie ist im gesamten Dokument gültig und steht jederzeit zur Verfügung." was mir ja auch nur recht sein kann oder missverstehe ich hier was?

auf wiederlesen ;-)

mfg torsten

--
Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do