JavaScript: Problem mit Event-Handler

simusch

simusch

Aktives Mitglied
Thread Starter
Dabei seit
27.09.2004
Beiträge
2.030
Reaktionspunkte
219
Hallo zusammen

Ich habe ein Problem, dass ich den ganzen Nachmittag nicht lösen konnte...

attachment.php


Durch einen Klick auf das Vorschaubild soll die kleine Cursor-Grafik an den jeweiligen Klick-Punkt verschoben werden.
Die ID des jeweiligen Bildes übergebe ich ans JavaScript, damit beim richtigen Bild die Grafik neu positioniert wird.

Mein HTML:
Code:
<div id='image_2937' class='crop_image_div'>
    <div class='crop_thumb'>
        <img src='interface/images/cursor.gif' style='position:absolute; top:37px; left:37px;' id='cursor_2937' width='16' height='16'><img onclick='crop_coords(2937)' src='thumbnail_2937.jpg' width='100%'>
    </div>
</div>
<input type='hidden' name='form_coords_2937' id='form_coords_2937' value=''>
<input type='submit' name='submit' value='Speichern'>

Mein JavaScript:
Code:
function crop_coords(imgId)
{
    //positioniert cursor neu
    document.getElementById("cursor_"+imgId).style.top = window.event.offsetY;
    document.getElementById("cursor_"+imgId).style.left = window.event.offsetX;

    //schreibt koordinaten in hidden-input
    document.getElementById("form_coords_"+imgId).value = window.event.offsetX+";"+window.event.offsetY;
}

Die Fehler-Konsole in Firefox gibt mir immer die Meldung:

Fehler: window.event has no properties


Hat mir jemand die Lösung? Oder eine ähnliche, bessere Möglichkeit?
 

Anhänge

  • Bild 1.png
    Bild 1.png
    12,9 KB · Aufrufe: 112
Ganz einfach:
FireFox kennt 'window.event.offsetY' und 'window.event.offsetX' nicht.
http://de.selfhtml.org/javascript/objekte/event.htm#offset_x_y

Ich guck mal nach, wie ich das damals gelöst hab, weiß aber nicht, ob ich mich darin noch zurechtfinde :D

EDIT:
Ja, habs gefunden. Mein Code bezieht sich zwar auf Drag&Drop-Boxen, aber die Ermittlung der Cursorposition gehört ja im Grunde mit dazu.

Der Zugriff erfolgt hier NICHT über das Event-Objekt, sondern über das Element selbst, bzw. 'document.all'. es ist Microsoft-Code, wenn ich SelfHTML gerade nicht zu dürftig überflogen habe.
Schlüssel sind die Eigenschaften offset_left und offset_top.

Hoffe, das hilft weiter.

Zur Noch mal nach Drag&Drop-Lösungen suchen, die müssen ja auch die Koordinaten rausfinden :)

EDIT2: Es gab auch irgendwo ein SelfHTML-Beispiel, bei dem via Click eine Grafik an den entsprechenden Punkt positioniert worden ist... Nur find ich die grad gar nicht :hum:
EDIT3: Klar, da, wo ich sonst gar nicht geguckt hätte, weils zu offensichtlich ist :rolleyes: http://de.selfhtml.org/javascript/objekte/event.htm#offset_x_y
Hilft aber, glaube ich, nicht wirklich, da es sich auf die Komplette Seite bezieht...
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: ThaHammer
Zurück
Oben Unten