offsetX/Y vs. layerX/Y
speedy
- javascript
0 speedy
Hallo!
Das objekt- bzw. elementbezogene Ermitteln der Mausposition mittels funktioniert tadellos. Im IE7/Opera9 mittels offsetX/Y und im Firefox2 mittels layerX/Y.
Unterschied: Bei <IMG> Elemente liefert offsetX/Y generell den Abstand zum Rand und nicht zum positionierten Elternelement. layerX/Y liefern dieselben Werte wie für alle anderen Elemente.
Es gibt aber noch einen Unterschied: Wenn das auslösende Objekt/Element einen Rand hat (oben oder links) liefern offsetX/Y und layerX/Y unterschiedliche Werte. (genau den Betrag der linken bzw. oberen Randstärke).
Wenn gewünscht, kann ich ein Beispiel posten.
Meine Frage: kann man offsetX/Y für Firefox bzw. layerX/Y für den IE errechnen.
Eine Möglichkeit wäre, den Rand abzuziehen, wenn das auslösende Element positioniert ist und einen Rand hat. Aber wie ermittelt man, ob ein Element einen Rand hat, und ob es positioniert ist?
speedy
PS: Alle Angaben sind nur für Browser überprüft, die sich NICHT im Quirks-Modus befinden. Im allgemeine verwende ich folgenden Dokumententyp:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Sorry: kleine Korrektur: korrekte muss es heißen:
Es gibt aber noch einen Unterschied: Wenn das auslösende Objekt/Element einen Rand hat (oben oder links) UND positioniert ist liefern offsetX/Y und layerX/Y unterschiedliche Werte. (genau den Betrag der linken bzw. oberen Randstärke).
speedy
PS: Alle Angaben sind nur für Browser überprüft, die sich NICHT im Quirks-Modus befinden. Im allgemeine verwende ich folgenden Dokumententyp:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">