Datenschutzerklärung

onmouseover-Attribute setzen

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / Javascript-Forum /

onmouseover-Attribute setzen

  Beitrag schreiben
Autor
Beitrag Seiten: 1
Ryan
Gast



Hallo,
Wie kann ich onmouseover-Attribute setzen? mit

Code:

document.getElementById('test').onmouseover = 'testFunction();';

funktioniert es nämlich nicht.

Grüße, Ryan


29.07.2008 14:22:35
  Beitrag schreiben
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 654
Hi,
nah drann aber doch vorbei ;-))

Code:

document.getElementById('test').onmouseover = testFunction;



_______________________________________
mfg
Thomas Mell

www.validome.org

29.07.2008 16:08:43
  Beitrag schreiben
ryan
Gast



Danke,

und wie ist das wenn ich Argumente für testFunction setzen will?


29.07.2008 16:46:37
  Beitrag schreiben
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 654
Soweit mir bekannt ist das nicht möglich.
Was sollen das für Argumente sein, welche man nicht in der Funktion setzen/abfragen könnte?
Ein Event übergibt niemals Argumente, ausser das eigene Eventobjekt.
Daran kommt man folgendermaßen.

Code:

document.getElementById('test').onmouseover = function(evt) {
  var el = getEventObject(evt);
  // el enthält nun das HTML-Objekt welches das Event ausgelöst hat
};

// Holt das ausloesende Eventobjekt
function getEventObject(e)    {
  // IE?
    if(window.ActiveXObject)    {
        return window.event.srcElement;
    }
    else    {
        if(e.target.nodeName == "#text")    {
            return e.target.parentNode;
        }
        else    {
            return e.target;
        }
    }
}



_______________________________________
mfg
Thomas Mell

www.validome.org

29.07.2008 17:22:09
  Beitrag schreiben
Tidynator (Der)
Gast



Hab' da mal was vorbereitet.

Das Concatenieren von String-Argumenten zu Funktionen, die dann per Timeout gestartet werden, ist bekannt. Darum ließ mich das schonmal nicht ruhen.

Schlussendlich kann man also auch Argumente an Event-Handler-Routinen übergeben. Das sind hier freilich vorher definierte Variablen, weil es anders nicht geht, aber es sollte keine Schwierigkeit bedeuten, die geänderten Werte dort erst hineinzuschreiben, bevor die Event-Handler verbogen werden. Mehr Dynamik braucht sicher keiner. :-)

<html>
  <head>
    <script type="text/javascript">
      var eins = 'A Tidelidum! Ha!';
      var zwo = 'Ba Baaa';
     
      function sachWas(was) {
        alert(was);
      }
    </script>

  </head>

  <body style="background-color:powderblue;">
    <div >
      &darr; Die Maus außenrum bewegen, sonst verwirrt's.
    </div>
   
    <div style="text-align:center;margin:4em;background-color:white;width:50%;">
      <div id="alert" onmouseover="sachWas(zwo);" style="margin-bottom:2em;color:purple;">
            erst nur hier hovern
      </div>
      <hr/>
      <div id="set" onmouseover="document.getElementById('alert').onmouseover='sachWas(eins)';">
          dann hier hovern und wieder oben.
      </div>
    </div>
  </body>
</html>


20.08.2009 14:14:40
  Beitrag schreiben
Tidynator (Der)
Mitglied

Registriert: 25.08.2009
Beiträge: 4
Natürlich schwöre ich, dass das Beispiel oben funktioniert hat. Mir will aber nicht mehr einfallen, unter welchen Voraussetzungen und in welchem Browser... [Den Rest bitte denken]

21.09.2009 11:11:16
  Beitrag schreiben
Seiten: 1   Beitrag schreiben
Wechsel zu

Valid HTML 4.01