---
title: "spara musposition"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/127888-spara-musposition"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "doggelito"
published: "2005-05-09T14:10:45.000Z"
updated: "2005-05-10T11:20:31.000Z"
replies: 2
views: 254
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/127888-spara-musposition"
---

# spara musposition

## #1 — doggelito, 2005-05-09T14:10Z

har denna fungerande kod.
koden visar musens x- och y- kordinater i de två översta textfälten.
nu skulle jag vilja att när man klickar så sparas aktuell position i de två undre textfälten.
jag började skriva men stötte på patrull direkt, (se stycke i koden), så hjälp!

```
<html>
<head>
<title></title>
<script type="text/javascript">
var MousePosition = function(){
    var theOne = null;
    var XY = {x:0,y:0};
    var readScroll = {scrollTop:0,scrollLeft:0,
                      clientLeft:0,clientTop:0};
    var lastTarget = null;
    var eventInited = false;
    var posReadX = 'pageX';
    var posReadY = 'pageY';
    function mm(e){
        e = e||window.event;
        XY.x = e[posReadX];
        XY.y = e[posReadY];
        lastTarget = e.target||e.srcElement;
    };
    function initEvent(ev){
        ev = ev||window.event;
        if((ev)&&((typeof ev.pageX == 'number')||
                 (typeof ev.clientX == 'number'))){
            posReadX = ((typeof ev.pageX == 'number')?
                                        'pageX':'clientX');
            posReadY = ((typeof ev.pageY == 'number')?
                                        'pageY':'clientY');
            setUpOnMouse(mm);
            mm(ev);
            eventInited = true;
        }else{
            setUpOnMouse(initEvent);
        }
    };
    function setUpOnMouse(f){
        if(window.document.onmousemove != f){
            document.onmousemove = f;
            if(document.captureEvents){
                document.captureEvents(Event.MOUSEMOVE);
            }
        };
    }
    return function(ev){  //constructor.
        if(!eventInited)initEvent(ev);
        if(theOne)return theOne;
        this.getPageX = function(){
            return  readScroll.scrollLeft -
                                        readScroll.clientLeft + XY.x;
        };
        this.getPageY = function(){
            return readScroll.scrollTop - readScroll.clientTop + XY.y;
        };
        this.getPageXY = function(){
            return {x:this.getPageX(),y:this.getPageY()};
        };
        this.getTarget = function(){
            return lastTarget;
        };
        this.toString = function(){
            return 'MousePosition [object]';
        };
        this.upDate = function(ev){
            if(eventInited){
                mm(ev);
            }else{
                initEvent(ev);
            }
            return this;
        };
        theOne = this;
    };
}();

var posObject;
var frmEl1;
var once = 0;
function startReport(){
	if(!frmEl1)frmEl1 = document.forms['f1'].elements
	if(posObject || (posObject = new MousePosition())){
        frmEl1['fieldX'].value = ' ' + posObject.getPageX();
        frmEl1['fieldY'].value = ' ' + posObject.getPageY();
	} setTimeout('startReport();', 40);
   
   
   	[b]// typ så här ----------------------------------------------------
	if(document.captureEvents)
	{
		if(document.captureEvents(Event.MOUSEDOWN))
		{
			frmEl1['fieldX_click'].value = ' ' + posObject.getPageX();
        	frmEl1['fieldY_click'].value = ' ' + posObject.getPageY();
		}
	}
	//----------------------------------------------------------------[/b]
   
}
</script>
</head>
<body onload="startReport();">
	<div style="width:100%;height:100%;">
	<form name="f1" action="#">
		X:<input type="text" value="" name="fieldX">
		Y:<input type="text" value="" name="fieldY">
		<br><br>
		X, klick:<input type="text" value="" name="fieldX_click">
		Y, klick:<input type="text" value="" name="fieldY_click">
	</form>
	</div>
</body>
</html>
```

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

## #2 — stattin, 2005-05-10T10:56Z

Så här kanske:

```
<html>
<head>
<title></title>
[B]<body onMouseDown="sparaXY()">[/B] 
<script type="text/javascript">

[B]function sparaXY(){
    document.f1.fieldX_click.value=document.f1.fieldX.value
    document.f1.fieldY_click.value=document.f1.fieldY.value }[/B] 

var MousePosition = function(){
    var theOne = null;
    var XY = {x:0,y:0};
    var readScroll = {scrollTop:0,scrollLeft:0,
                      clientLeft:0,clientTop:0};
    var lastTarget = null;
    var eventInited = false;
    var posReadX = 'pageX';
    var posReadY = 'pageY';
    function mm(e){
        e = e||window.event;
        XY.x = e[posReadX];
        XY.y = e[posReadY];
        lastTarget = e.target||e.srcElement;
    };
    function initEvent(ev){
        ev = ev||window.event;
        if((ev)&&((typeof ev.pageX == 'number')||
                 (typeof ev.clientX == 'number'))){
            posReadX = ((typeof ev.pageX == 'number')?
                                        'pageX':'clientX');
            posReadY = ((typeof ev.pageY == 'number')?
                                        'pageY':'clientY');
            setUpOnMouse(mm);
            mm(ev);
            eventInited = true;
        }else{
            setUpOnMouse(initEvent);
        }
    };
    function setUpOnMouse(f){
        if(window.document.onmousemove != f){
            document.onmousemove = f;
            if(document.captureEvents){
                document.captureEvents(Event.MOUSEMOVE);
            }
        };
    }
    return function(ev){  //constructor.
        if(!eventInited)initEvent(ev);
        if(theOne)return theOne;
        this.getPageX = function(){
            return  readScroll.scrollLeft -
                                        readScroll.clientLeft + XY.x;
        };
        this.getPageY = function(){
            return readScroll.scrollTop - readScroll.clientTop + XY.y;
        };
        this.getPageXY = function(){
            return {x:this.getPageX(),y:this.getPageY()};
        };
        this.getTarget = function(){
            return lastTarget;
        };
        this.toString = function(){
            return 'MousePosition [object]';
        };
        this.upDate = function(ev){
            if(eventInited){
                mm(ev);
            }else{
                initEvent(ev);
            }
            return this;
        };
        theOne = this;
    };
}();

var posObject;
var frmEl1;
var once = 0;
function startReport(){
	if(!frmEl1)frmEl1 = document.forms['f1'].elements
	if(posObject || (posObject = new MousePosition())){
        frmEl1['fieldX'].value = ' ' + posObject.getPageX();
        frmEl1['fieldY'].value = ' ' + posObject.getPageY();
	} setTimeout('startReport();', 40);
   
   
   	// typ så här ----------------------------------------------------

	//----------------------------------------------------------------
   
}
</script>
</head>
<body onload="startReport();">
	<div style="width:100%;height:100%;">
	<form name="f1" action="#">
		X:<input type="text" value="" name="fieldX">
		Y:<input type="text" value="" name="fieldY">
		<br><br>
		X, klick:<input type="text" value="" name="fieldX_click">
		Y, klick:<input type="text" value="" name="fieldY_click">
	</form>
	</div>
</body>
</html>
```

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

## #3 — doggelito, 2005-05-10T11:20Z

superbt! :bire

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/127888-spara-musposition
