DOM-Eventhandling: parameter übergeben?
Fabian Transchel
- dhtml
moin forum,
will meine homepage auf XHTML umstellen, deswegen musste ich mich von den Standard-Eventhandlern (onClick etc.) verabschieden.
jetzt hab ich in SelfHTML gelesen, wie das mit den DOM-Events geht.
also quasi das hier: document.on_eventname_ = Auswertung;
nun meine frage: wie kann ich da parameter übergeben?
(begründung für die frage:
document.on_eventname_ = Auswertung(parameter1,parameter2); geht nicht!)
muss ich für _jeden_ Eventhandler eine extra-Funktion definieren?
ich habe sonst über die eventhandler etwas in der art "menueon(button,popup);" aufgerufen. wie geht das im DOM-Modell?
Fabian
ps: ich würd mich ja nicht aufregen, wenn der validator nicht meckern würde ;-)
moin forum,
Tach
will meine homepage auf XHTML umstellen, deswegen musste ich mich von den Standard-Eventhandlern (onClick etc.) verabschieden.
Non sequitur.
onclick gibt es auch in XHTML, nur halt mit kleinem c, weil in XHTML alle Attributnamen kleingeschrieben werden.
jetzt hab ich in SelfHTML gelesen, wie das mit den DOM-Events geht.
also quasi das hier: document.on_eventname_ = Auswertung;
nun meine frage: wie kann ich da parameter übergeben?
Gar nicht.
Eventhandler werden ja nicht von Dir aufgerufen, sondern vom Browser.
ps: ich würd mich ja nicht aufregen, wenn der validator nicht meckern würde ;-)
Wenn Du Dich nicht an die Regeln von XHTML hältst (Kleinschreibung von Attributnamen), bist Du doch selber schuld, wenn Du angemeckert wirst.
Andreas
moin Andreas,
Non sequitur.
onclick gibt es auch in XHTML, nur halt mit kleinem c, weil in XHTML alle Attributnamen kleingeschrieben werden.
tja, da sieht man den Wald vor lauter Bäumen nicht. Alles hab ich umgeschrieben, aber ich dachte halt, da JS case-sensitive ist, darf ich das nicht ändern. Und schon hab ichs übersehen :(
ps: ich würd mich ja nicht aufregen, wenn der validator nicht meckern würde ;-)
Wenn Du Dich nicht an die Regeln von XHTML hältst (Kleinschreibung von Attributnamen), bist Du doch selber schuld, wenn Du angemeckert wirst.
allerdings.
Andreas
Fabian
Tach,
tja, da sieht man den Wald vor lauter Bäumen nicht. Alles hab ich umgeschrieben, aber ich dachte halt, da JS case-sensitive ist, darf ich das nicht ändern. Und schon hab ichs übersehen :(
Ja und, was hat Javascript mit dem (X)HTML-Attribut onclick zu tun?
(mal abgesehen davon, daß der Attributwert Javascript ist, falls die default-Scriptsprache der Seite Javascript ist).
Andreas
Moin,
nun meine frage: wie kann ich da parameter übergeben?
Das was du beschrieben hast, sind zwar noch keine DOM-Events, aber du kannst bei beidem keine Parameter übergeben.
muss ich für _jeden_ Eventhandler eine extra-Funktion definieren?
Nein. Dein Eventhandler bzw. -listener bekommt ein Objekt übergeben das allerlei nützliche Informationen vorhält. Unter anderem auch den Typ des Events welches ausgelöst wurde (im type-Attribut) und auch das Element-Objekt auf den das Event gerichtet wurde (im target-Attribut), ja sogar das Element-Objekt dessen Eventhandler/-Listener aufgerufen wurde (im currentTarget-Attribut).
Dazu steht auch schon einiges im Archiv. Wenn du genauer sagst, welche Parameter du übergeben willst, kann man vielleicht noch genaueres sagen.
--
Henryk Plötz
Grüße aus Berlin
Moin,
moin
nun meine frage: wie kann ich da parameter übergeben?
Das was du beschrieben hast, sind zwar noch keine DOM-Events, aber du kannst bei beidem keine Parameter übergeben.
_was_ sind denn "richtige" DOM-Events?
muss ich für _jeden_ Eventhandler eine extra-Funktion definieren?
Nein. Dein Eventhandler bzw. -listener bekommt ein Objekt übergeben das allerlei nützliche Informationen vorhält. Unter anderem auch den Typ des Events welches ausgelöst wurde (im type-Attribut) und auch das Element-Objekt auf den das Event gerichtet wurde (im target-Attribut), ja sogar das Element-Objekt dessen Eventhandler/-Listener aufgerufen wurde (im currentTarget-Attribut).
gut zu wissen, aber ich baruche es jetzt erstmal nicht mehr. Danke.
Dazu steht auch schon einiges im Archiv. Wenn du genauer sagst, welche Parameter du übergeben willst, kann man vielleicht noch genaueres sagen.
ich wollte eigentlich eine Funktion aufrufen, aber brauche ich nicht mehr, siehe Andreas' Antwort.
--
Henryk Plötz
Grüße aus Berlin
Fabian
Moin,
_was_ sind denn "richtige" DOM-Events?
Das da: http://selfhtml.teamone.de/dhtml/modelle/dom.htm#event_handling (siehe auch http://forum.de.selfhtml.org/archiv/2002/7/17331/#m98778) bzw. offiziell in http://www.w3.org/TR/DOM-Level-2-Events/.
--
Henryk Plötz
Grüße aus Berlin
Hi Henryk.
.. aber du kannst bei beidem keine Parameter übergeben.
Das kann ich so nicht stehen lassen. Es fällt mir zwar kein Grund ein, unbedingt so was zu konstruieren, aber es geht:
function checkArguments(keyEvent,para2)
{
keyEvent=(window.event)? window.event : keyEvent;
alert("Parameter: "+para2+"\nEventart: "+keyEvent.type);
}
document.onmousedown=Function("checkArguments(arguments[0],'Test')")
lg Spiff
Moin,
Das kann ich so nicht stehen lassen. Es fällt mir zwar kein Grund ein, unbedingt so was zu konstruieren, aber es geht:
Danke für die Korrektur. Ich hab auch kurz darüber nachgedacht, weil ich ein ähnliches Konstrukt aus PHP kenne, hätte aber nicht geglaubt, dass Javascript so etwas auch hat und hab daher nicht danach gesucht.
document.onmousedown=Function("checkArguments(arguments[0],'Test')")
^ muss da nicht noch ein new davor?
--
Henryk Plötz
Grüße aus Berlin
*** Help Microsoft combat software piracy: Give Linux to a friend today! ***