---
title: "Få fram koordinater"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/127280-få-fram-koordinater"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Gein"
published: "2005-04-28T13:40:47.000Z"
updated: "2005-04-29T11:43:21.000Z"
replies: 6
views: 433
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/127280-få-fram-koordinater"
---

# Få fram koordinater

## #1 — Gein, 2005-04-28T13:40Z

Hur får jag fram muspekarkoordinater vid ett event. Ska fungera för Firefox 1.0.2!
Både event och window.event är odefinierade.  :q

Permalänk: https://www.webforum.nu/p/127280

## #2 — nitro2k01, 2005-04-29T08:52Z

I Mozilla så finns inte event-objektet. Istället skickas event-egenskaperna med som ett argument till den funktion som du använder som event-hanterare, tex:

```
// Denna funktionen är en event-hanterare för ett mousmove-event
function handleMouseMove(e){
  alert(e.clientX)
}
```

Använder du en mouseover som attribut till body eller en div kan du istället komma åt detta objekt genom arguments\[0\]:

```
<div id="foo" onmousemove="alert(arguments[0].clientX)">
```

X kan såklart bytas ut mot Y för att få Y-koordinaten. Du kan även byta ut client mot andra saker för att få ut koordinaten beräknad från olika punkter på skärmen. Här finns hela listan: <http://www.mozilla.org/docs/dom/domref/dom_event_ref.html>

Permalänk: https://www.webforum.nu/p/1603945

## #3 — Palle, 2005-04-29T08:53Z

En variant, använd x och y för koordinaterna.

```
[red]<script type="text/javascript">

	document.onmousemove = fMouseMove;
	var objBrowser = new fBrowser();
	function fBrowser()
	{
		var ua, s, i;
		this.isIE = false;
		this.isNS = false;
		this.version = null;
		ua = navigator.userAgent;
		s = "MSIE"; if ((i = ua.indexOf(s)) >= 0){this.isIE = true;this.version = parseFloat(ua.substr(i + s.length));return;}
		s = "Netscape6/"; if ((i = ua.indexOf(s)) >= 0){this.isNS = true;this.version = parseFloat(ua.substr(i + s.length));return;}
		s = "Gecko"; if ((i = ua.indexOf(s)) >= 0){this.isNS = true;this.version = 6.1;return;}
	}

	function fMouseMove(event)
	{
		if (objBrowser.isIE)
		{
			x = (window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft);
			y = (window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop);
		}
		if (objBrowser.isNS)
		{
			x = (event.clientX + window.scrollX);
			y = (event.clientY + window.scrollY);
		}
		window.status = x +' x '+ y
	}
	
</script>[/red]
```

Permalänk: https://www.webforum.nu/p/1603946

## #4 — Gein, 2005-04-29T09:06Z

document.onmousemove = fMouseMove;
Förstår jag det rätt om event-egenskaperna automatiskt skickas med även fast jag inte anger något argument till funktionen? Säg att hanteraren tar 2 argument, event-egenskaperna och t.ex. en sträng. Är det isåfall underförstått att det första argumentet är eventet eller? Tänker jag fel?

Permalänk: https://www.webforum.nu/p/1603952

## #5 — nitro2k01, 2005-04-29T09:11Z

Argumenten du skickar till en funktion, tex foo(10,30,20) lagras alltid i den lokala arrayn arguments. Detta oavsett vad som står i funktionsdefinitionen. fMouseMove i ditt exempel kommer att anropas inifrån mozilla, och får därmed bara ett argument skickat till sig.

Permalänk: https://www.webforum.nu/p/1603959

## #6 — Gein, 2005-04-29T09:34Z

> **nitro2k01 skrev:**
>
> Argumenten du skickar till en funktion, tex foo(10,30,20) lagras alltid i den lokala arrayn arguments. Detta oavsett vad som står i funktionsdefinitionen. fMouseMove i ditt exempel kommer att anropas inifrån mozilla, och får därmed bara ett argument skickat till sig.

Förlåt, det var jag som missuppfattade koden lite. Nu är jag med! Tack så mycket för hjälpen. Återkommer om fler problem dyker upp ;)

Permalänk: https://www.webforum.nu/p/1603982

## #7 — Gein, 2005-04-29T11:43Z

En liten fråga angående samma problem.
På en \<span\> har jag nu onMouseDown="start(this);"
I funktionen start vill jag sedan få fram X- och Y-värdet. Hur gör jag det på bästa sätt? Jag lade in en fMouseDown som handler som satte koordinaterna till globala variabler men efter ett test visar det sig att start-funktionen körs före fMouseDown och då får den alltså inte rätt värde.

Permalänk: https://www.webforum.nu/p/1604061

---

Tråden på webben: https://www.webforum.nu/amne/javascript/127280-få-fram-koordinater
