Archivlink: javarea.de Forum > JavaScript > Maus-Events objektweise abfangen
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Maus-Events objektweise abfangen

Pages: [1]

geschrieben von MaxPayne am 12.09.2005 - 19:08
Hallo,

ich habe auf einer HTML-Seite mehrere Elemente (Texte die in ein <p>-Tag gerahmt sind) zu denen ich - wenn man mit der Maus drüber fährt - eine Kontext-Hilfe erscheinen lassen will und zwar in Form eines <div>-Elements, dass sich bei Bedarf einblendet, mit der Maus mit geht und - wenn das zu beschreibende Element mit der Maus verlassen wird - wieder ausgeblendet wird. Ich muss also mit diesem Event die Mausposition abfangen. Mit der Implementierung wie im IE wo das Event-Objekt immer unter window.event anzusprechen ist, ist es ja ganz einfach. Dumm wird es nur mit der Netscape-Variante (die ja unter anderem auf der Firefox benutzt), weil da mit jedem Funktionsaufruf der Event-Handler übergeben werden muss. In den Beispielen die ich dazu bisher gesehen hab, ging das ganz einfach, weil man die Ereignisse ganz einfach auf Dokument-Ebene abgerufen hat, in dem man geschrieben hat: document.onMouseMove = abfangMethode;

Das geht bei mir aus zweierlei Gründen nicht: ich muss der Methode, die beim Ereignis (onMouseMove) aufgerufen noch mehrere Argumente übergeben und zweitens muss ich es - weil das HTML dynamisch erzeugt wird - zu jedem Element spezifisch im onMouseMove-Attribut im entsprechenden HTML-Tag setzen. Ich kann also nicht einfach sagen document.onMouseMove = ... sondern muss es mit <p onMouseMove="javascript: moveContext("ein spezifischen Argument", "ein zweites...");">...</p> hinbekommen.
Dabei kommt aber der Event-Handler nicht mit und ich in der Netscape-Variante kein Event-Objekt mit dem ich die Mauskoordinaten abfangen kann. Wie mach ich das?

geschrieben von okley am 13.09.2005 - 07:20
ich denke, dass du hier eine lösung finden wirst:
http://www.lizzynet.de/home/evafan/....codes.html
oder auch hier auf javarea.de im scriptarchiv in den JavaScript-maus-scripten ...

eine idee wäre zum beispiel alle elemente welche auf das mousemove erreignis reagieren sollen, in einem array zu registrieren mit all den argumenten die du brauchst, und dann wenn der event ausgelöst wird prüfst du ob das aufrufende element registriert ist oder nicht und zeigst es gegebenenfalls an.

geschrieben von pyscho am 13.09.2005 - 07:45
Hi,

Schau mal unter dem Link mal nach. Das Problem hatte ich es auch vor kurzem. Ich kann es mich nicht
erinnern welchen Link ich angewählt hatte aber habe da die Lösung gefunden und wenn nicht dann
wirst du hier finden.

Also hier der link:
http://www.drweb.de/trickkiste/inde....ript.shtml

Bis Bald
byeee

geschrieben von MaxPayne am 14.09.2005 - 14:13
Jo, habs gefunden. Danke. Man muss das Event auf Dokumentebene abfangen un dann in der Abfangmethode das Element ausfinden, welches vom Event betroffen wurde.

geschrieben von pyscho am 14.09.2005 - 14:51
Es freut mich und natürlich alle Anderen dass du eine Lösung gefunden hast. Mach so weiter

Bis bald
cüz


geschrieben von okley am 15.09.2005 - 07:24
@MaxPayne: Genau das was du jetzt herausgefunden hast, wollte ich dir eigentlich mit meiner Erklärung sagen ... Habe ich mich zu unklar ausgedrückt oder hast du es einfach übersehen?

geschrieben von MaxPayne am 19.09.2005 - 11:06
@okley: Nein, dein Post war sogar der Ansatz. Thx


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.