diana: Problem mit offsetX = element.layerX;

Ich habe folgendes problem . Ich möchte mir die x,y kordinaten ausgeben lassen wenn ich in einem div element wohinklicke , bezogen auf den rand dieses elementes . Im IE funktioniert das einwandfrei , aber im NS giebt er mir nur undefined aus . Weis nicht mehr weiter . Wäre nett wenn jemand den Code anschauen würde und mir einen Tipp oder eine Lösung nennen könnte . Danke schonmal im vorraus

//----------------- in html
 <div id="mapubersicht" style="position:absolute" onClick="JavaScript:klmapanwahl(this);">

//---------------- in js datei

function klmapanwahl(element){
 var offsetX;
 var offsetY;

if(window.ActiveXObject)
 {
  offsetX = window.event.offsetX;
  offsetY = window.event.offsetY;
  alert(offsetX + "_" + offsetY);
 }
 else
 {
  offsetX = element.layerX;
  offsetY = element.layerY;

alert(offsetX + "_" + offsetY);
 }

}

  1. Hallo,

    layerY/layerY sind Eigenschaften des Eventobjektes, nicht des Elementes. So kannst du browserübergreifend darauf zugreifen:

    <div id="mapubersicht" style="position:absolute" onClick="JavaScript:klmapanwahl(this);">

    onclick="klmapanwahl(this, event)"

    function klmapanwahl(element){

    function klmapanwahl (element, event) {

    if(window.ActiveXObject)

    Wenn das eine Browserabfrage sein soll, dann solltest du auf eine einfache Objektabfrage umsteigen.

    if (typeof event.offsetX != "undefined")

    {
      offsetX = window.event.offsetX;
      offsetY = window.event.offsetY;

    Dann event.offsetX/Y

    alert(offsetX + "_" + offsetY);
    }
    else

    else if (typeof event.layerX != "undefined")

    {
      offsetX = element.layerX;
      offsetY = element.layerY;

    Und hier wie gesagt event.layerX/Y.

    alert(offsetX + "_" + offsetY);
    }

    }

    Mathias

    --
    »No nations, no borders.«
    SELFHTML Weblog
    1. Dank dir molily , es funktioniert.