Problem mit offsetX = element.layerX;
diana
- javascript
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);
}
}
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
Dank dir molily , es funktioniert.