danke. Ich frage mich aber was nun der Unterschied zu new Function sein soll? Ich glaube dir ja gerne das dies jetzt die bessere Variante ist. Doch für was steht bitte function(das e)?
Das e ist das
Eventobjekt das viele Browser (nicht der IE) einem Event übergeben.
new Function() ist ähnlich wie eval(), es ist langsam und unflexibel. Wenn du mit JS programmieren willst, solltest du dich mit closures und anonymen Funktionen beschäftigen, nur so kannst du alle Möglichkeiten von JS ausnutzen.
Und der Code für LinkAuslesen() lautet jetzt:
Code:
function LinkAuslesen(Link)
{
if (parent.LinkAnzeigen == true)
{
parent.document.getElementById("Adresse").innerHTML = Link
parent.document.getElementById("Adresse").title = Link.innerHTML
}
}
Ist onmouseover schon eine Funktion zugeteilt, dann existiert dafür ein Bild und ich werde noch eine Weitere hinzufügen.
Was ist hier parent? Und wie gesagt, du solltest Variabeln benutzen und nicht immer wieder die gleiche Funktion aufrufen, das macht den Code lesbarer.
Deine Logik bei onmouseover verstehe ich nicht, aber du wirst schon Wissen was du tust.
Es ist aber wohl besser den Index des Objekts in den aufgerufenen Funktionen verarbeiten zu können. Es wäre die einfachste Art und Weise hier diesen mit this als übergebenen Parameter herausbekommen um ihn in einer öffentlichen Variable speichern zu können.
Wieso willst du ausgerechnet den Wert in einer Variabeln speichern? Und was willst du mit dem Index? Ohne zu Wissen, was du genau machen willst, wird es schwer dir bessere Ratschläge zu geben.
Code:
parent.document.getElementById("TextWidth").onclick = function() {Schrift();};
da für mich die Zeile wie von Gilles beschrieben eher wie die Zuweisung einer Variablen aussah.
Dir scheinen die Begriffe nicht klar zu sein. Eine Variabel kommt in deinem Code (zu) selten vor, a und i sind Variabeln.
Das was du da zuweist ist eine Eigenschaft des Objekts, das du mit getElementById ermittelst. Normalerweise überprüft man auch, ob dieses wirklich Objekt existiert um im Fehlerfall reagieren zu können (schau mal in die Fehlerkonsole, dann siehst du wieviel JS Programmierer diese Grundlage ignorieren).
Diese Eigenschaft ist ein Eventhandler, der im Fall des Events die Funktion aufruft. Der Nachteil dieser Methode ist es, dass nur eine Funktion ausgeführt werden kann, daher gibt es
neue Methoden dafür.
Das was dir Gilles gezeigt hat, ist die Zuweisung einer Funktionsreferenz. Das zu erklären würde zu lange dauern, deshalb hier ein paar Beispiele was das bedeutet:
Code:
<script type="text/javascript">
var f1 = function(param) {
alert('Hallo ' + param);
};
// f1 ist die Funktionsreferenz
f1('andynail');
function f2(param) {
f1(param);
}
var ref = f2;
// ref ist die Funktionsreferenz auf f1
ref('andynail');
var a = alert;
// a ist jetzt eine Referenz auf window.alert()
a('Hallo Welt');
</script>