Javascript-Funktion dynamisch erweitern/verändern
heinetz
- javascript
0 Novi0 heinetz
0 Gunnar Bittersmann
Hallo Forum,
ist es möglich, eine selbstdefinierte JS-Funktion dynamisch
zu erweitern/verändert. Schwer zu beschreiben. Daher anhand
eines Beispiels:
<html>
<head>
<script>
var variable;
function test ()
{
alert ("test");
if (variable) alert (variable);
}
</script>
<script>
variable = "wert";
document.onload = test;
</script>
</head>
</html>
Das würde dazu führen, dass die Funktion "test" nach Laden
des Domuments ausgeführt wird und zweimal etwas "alertet".
Der zweite alert() ist abhänig davon, dass die Variable
'variable' einen Wert enthält. Wäre der Variabken kein Wert
zugewiesen worden, hätte die Funktion test nur "test" alertet.
Weil ich auf die Verwendung von variable genre ganze verzichten
würde, frage ich mich, ob es wohl möglich ist, die Funktion
"test" an sich per Javascript vor dem Ausführen zu erweitern.
Etwa so etwas:
<html>
<head>
<script>
var variable;
function test ()
{
alert ("test");
}
</script>
<script>
test+= "alert('wert')";
document.onload = test;
</script>
</head>
</html>
Ist soetwas denkbar ?
danke für Tipps und
beste gruesse,
hienetz
ps.
ich habe mir, wie immer, alle Mühe gegeben meine Frage
so knapp wie möglich aber so ausführlich wie nötig zu
stellen.
<html>
<head>
<script>
var variable;
function test ()
{
alert ("test");
}
</script>
<script>
test2 = function(){ alert('wert');test();};
document.onload = test2;
</script>
</head>
</html>
danke für den Hinweis!
@@heinetz:
nuqneH
var variable;
function test ()
{
alert ("test");
if (variable) alert (variable);
}
Globale Variablen sind selten eine gute Idee.
ich habe mir, wie immer, alle Mühe gegeben meine Frage
so knapp wie möglich aber so ausführlich wie nötig zu
stellen.
Nicht ganz. WARUM willst du die Funktion erweitern? Sprich: Was ist das EIGENTLICHE Problem, was du damit zu lösen gedenkst?
Willst du vielleicht zwei Funktionen beim 'load'-Event ausführen?
function test() { alert("test"); }
window.addEventListener("load", test, false);
window.addEventListener("load", function () { alert("wert"); }, false);
Siehe [molily §18].
IEs halten sich nicht an den Standard, haben aber eine proprietäre Variante auf Tasche. [molily §19] Für eine Helferfunktion siehe [molily §21].
Qapla'
nein,
für tinyMCE lässt sich für 'oninit:' ein Ereignis, also
z.B. ein Funktionsaufruf definieren. Später im Skript
entscheidet sich, ob u.U. noch etwas mehr geschehen soll.
Das hatte ich ursprünglich so gelöst, dass später im
Skript ein Flag gesetzt wird, dass in der Funktion
abgefragt wird. Da habe ich mich gefragt, ob ich nicht
eine zuvor selbst defnierte Funktion an sich per Skript
ändern kann.
gruesse,
heinetz
abgefragt wird. Da habe ich mich gefragt, ob ich nicht
eine zuvor selbst defnierte Funktion an sich per Skript
ändern kann.
So wie du dein Fall schilderst, ist das nicht nötig.
Struppi.