img.onclick?
Boubou
- javascript
Hallo zusammen ich habe per Javascript dynmaisch Inputs erstellt.
Will diese auch löschen. Neben den inputs wird immer ein image mit erstellt. Ich will jetzt img.onclick ="funktion()"; machen aber er reagiert nicht? Wie kann ich auf das img ein onclick machen
Hallo Boubou!
Ich will jetzt img.onclick ="funktion()"; machen
^ ^ ^
Hast Du es so im Quelltext?
aber er reagiert nicht?
Wer?
Wie kann ich auf das img ein onclick machen
Viele Grüße aus Frankfurt/Main,
Patrick
Hast Du es so im Quelltext?
ja im script Teil habe ich es so. img.onclick ="funktion();"
Wenn ich das sowas habe
funktion () {
alert("lala");
}
müsste er theoretisch diese funktion aufrufen macht er nicht er ruft nichts auf
Lieber Boubou,
funktion () {
alert("lala");
}
was soll das? Lies noch einmal nach, wie man Funktionen definiert.
Liebe Grüße,
Felix Riesterer.
Hallo Boubou!
funktion () {
^
alert("lala");
}
Wenn Du mir in Russisch sagst, ich soll für Dich den Notarzt anrufen, stehen Deine Karten schlecht, weil ich kein Russisch kann. Und jetzt denke an JavaScript, welche Sprache es versteht.
Viele Grüße aus Frankfurt/Main,
Patrick
@@Patrick Andrieu:
»» funktion () {
^
»» alert("lala");
»» }Wenn Du mir in Russisch sagst, ich soll für Dich den Notarzt anrufen, stehen Deine Karten schlecht, weil ich kein Russisch kann. Und jetzt denke an JavaScript, welche Sprache es versteht.
?? Warum sollte er eine Funktion nicht mit dem deutschen Wort "funktion" benennen? Mit dem englischen Wort "function" ginge es wohl nicht, da dies in JavaScript ein reserviertes Schlüsselwort ist. Welches übrigens bei der Funktionsdefinition fehlt:
function funktion()
{
alert("lala");
}
Live long and prosper,
Gunnar
Hallo Gunnar!
?? Warum sollte er eine Funktion nicht mit dem deutschen Wort "funktion" benennen? Mit dem englischen Wort "function" ginge es wohl nicht, da dies in JavaScript ein reserviertes Schlüsselwort ist. Welches übrigens bei der Funktionsdefinition fehlt:
Ich befürchte, dass der OP ein Konstrukt wie:
funktion tuwas() {}
in seinem Quelltext hat (und anfangs zusätzlich dies als String dem Event-Handler zuweist, siehe meine erste Antwort).
Dass selbstvergebene Namen auch in Russisch sein können, weiß ich, ich bin nicht erst seit gestern hier ;)
Viele Grüße aus Frankfurt/Main,
Patrick
@@Patrick Andrieu:
Dass selbstvergebene Namen auch in Russisch sein können, weiß ich,
Bist du *sicher*? ;-)
function чтоделать()
{
alert("Не знаю.");
}
Live long and prosper,
Gunnar
Hallo Gunnar!
»» Dass selbstvergebene Namen auch in Russisch sein können, weiß ich,
Bist du *sicher*? ;-)
function чтоделать()
{
alert("Не знаю.");
}
In der Adresszeile:
javascript:function чтоделать() {alert('Не знаю.')}; чтоделать();
eingegeben, und ich verstehe nicht, was mir die Alertmeldung sagen will (deswegen könnte ich auch den Notartzt nicht rufen).
Viele Grüße aus Frankfurt/Main,
Patrick
--
\_ - jenseits vom delirium - \_
![](http://www.atomic-eggs.com/fuernA.jpg)
[Diblom](http://www.atomic-eggs.com/pics/diblom.png) [[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash](http://www.atomic-eggs.com/)]
[J'ai 10 ans!](http://www.atomic-eggs.com/wae/wae_10.shtml#a5) | Achtung [Agentur](http://www.atomic-eggs.com/cwi/cwi_5.shtml#a5)! | Nichts ist unmöglich? [Doch!](http://www.atomic-eggs.com/cwi/cwi_4.shtml) | Heute schon ge[gök](http://goek.atomic-eggs.com/goek_goek.html)t?
@@Patrick Andrieu:
javascript:function чтоделать() {alert('Не знаю.')}; чтоделать();
eingegeben,
Funzt ja tatsächlich. Ich hatte vermutet, dass Bezeichner in JavaScript nur aus ASCII-Zeichen bestehen dürften. Da lag ich wohl falsch. Ich hätte vorher nachlesen (vorlesen? ;-)) sollen. ([ECMASCRIPT] §7.6, S. 14f.)
und ich verstehe nicht, was mir die Alertmeldung sagen will
Ich weiß nicht.
Live long and prosper,
Gunnar
Hallo Gunnar!
Funzt ja tatsächlich. Ich hatte vermutet, dass Bezeichner in JavaScript nur aus ASCII-Zeichen bestehen dürften.
http://www.atomic-eggs.com/z_testdir/html/russischesroulette.html
»» und ich verstehe nicht, was mir die Alertmeldung sagen will
Ich weiß nicht.
Die Meldung heißt »ich weiß nicht«? Oder Du weißt es nicht? Aber ich weiß, was die chinsesiche Meldung heißt, Christian auch ;)
Viele Grüße aus Frankfurt/Main,
Patrick, Zeichenklauer...
@@Patrick Andrieu:
Die Meldung heißt »ich weiß nicht«? Oder Du weißt es nicht?
Das hatte ich bewusst mehrdeutig gelassen. ;-)
не – nicht; знаю – 1. Person Singular von знать – wissen
Aber ich weiß, was die chinsesiche Meldung heißt, Christian auch ;)
Ich weiß, dass Christian es sogar lesen kann. Du auch? ;-)
Live long and prosper,
Gunnar
Hi,
Aber ich weiß, was die chinsesiche Meldung heißt, Christian auch ;)
Ich weiß, dass Christian es sogar lesen kann. Du auch? ;-)
Ich kann auch chinesische Zeichen lesen.
Nur ihre Bedeutung verstehe ich nicht ...
MfG ChrisB
Mahlzeit Boubou,
»» Hast Du es so im Quelltext?
ja im script Teil habe ich es so. img.onclick ="funktion();"
Damit weist Du der Eigenschaft "onclick" des Objektes "img" einen String als Wert zu. Was soll Deiner Meinung nach dann passieren?
Wenn ich das sowas habe
funktion () {
alert("lala");
}
... dann ist das falsch. Gesetzt den Fall, Du warst nur schluderig und haust uns hier irgendwelchen Code um die Ohren, "der so oder so ähnlich schon funzt", und der eigentliche Code sieht ungefähr so aus,
function foobar() {
alert('lala');
}
dann würde eine Konstruktion wie
img.onclick = 'foobar();';
trotzdem nicht funktionieren. Wenn Du in Javascript einem Objekt einen Event-Handler hinzufügen möchtest, musst Du der jeweiligen Eigenschaft ein Funktionsobjekt übergeben:
img.onclick = (function() {
alert('lala');
});
müsste er theoretisch diese funktion aufrufen macht er nicht er ruft nichts auf
Müsste er nicht. Jedenfalls nicht, solange Du es nicht korrekt programmierst ... :-)
MfG,
EKKi
Lieber EKKi,
img.onclick = (function() {
alert('lala');
});
die runden Klammern um die "anonyme Funktion" kannst Du auch weglassen:
~~~javascript
img.onclick = function() {
alert('lala');
};
Das tut's genauso und ist übersichtlicher. Ich dachte bei Deiner geklammerten Schreibweise sofort an eine Closure, nur um zu sehen, dass Du keine benutzt (was hier in diesem Beispiel ja auch nicht sinnvoll ist) - also eine irreführende Notation, wenn auch syntaktisch korrekt.
Liebe Grüße,
Felix Riesterer.
Ich dachte bei Deiner geklammerten Schreibweise sofort an eine Closure, nur um zu sehen, dass Du keine benutzt (was hier in diesem Beispiel ja auch nicht sinnvoll ist)
Mit Closures hat das (direkt) nichts zu tun. Im verlinkten Beispiel ist die Klammerung nötig, weil eine anonyme Funktion notiert wird, die sofort ausgeführt wird. Das ist keine Closure, sondern eine »anonyme Funktion, die sofort ausgeführt wird«.
Mathias
Hallo zusammen ich habe per Javascript dynmaisch Inputs erstellt.
Will diese auch löschen. Neben den inputs wird immer ein image mit erstellt. Ich will jetzt img.onclick ="funktion()"; machen aber er reagiert nicht? Wie kann ich auf das img ein onclick machen
Traditionelles Event-Handling
Häufiger Fehler: Auszuführenden Code als String zuweisen
Mathias