Don P: Code geht nur auf IE, bitte um hilfe!

Beitrag lesen

Hallo,

Folgende Antwort ist war zwar richtig, aber ein bisschen unvollständig:

ev = window.event;

Das ist IE-spezifisch. Andere Browser übergeben das Event-Objekt als Funktionsparameter.

Weiß der Geier, warum man hier so ein Geheimnis um die Geheimnisse macht*.
Man schreibt das besser so, und alles wird gut:

[code lang = javascript]
function Mausklick (e) {
  ev = e || event;
  // hier der Rest wie gehabt...[/code]

e ist der genannte Parameter, man darf ihn auch anders nennen.

* ich glaube inzwischen, dass es u.A. daran liegt, dass man sich einfach sträubt, dem ||-Operator mehr als eine einfache boolesche oder-Verknüpfung zuzutrauen. Trotzdem könnte man doch die Lösung anbieten, ohne dass einem ein Zacken aus der Krone bricht, z.B. in Form von

[code lang = javascript]
function Mausklick (e) {
  ev = e ? e : event;
 // hier der Rest wie gehabt...[/code]

oder

[code lang = javascript]
function Mausklick (e) {
  if (e) {ev = e;}
  else {ev = event;}
  // hier den Rest wie gehabt...[/code]

Gruß, Don P