Newsgroup: it.comp.lang.javascript
Titolo: Posizione cursore

Scusate la domanda da neofita, ma non sono riuscito a trovare sui pessimi
manuali che ho nessuna informazione su come si possono determinare la
coordinate del cursore.
Anche la ricerca con Google mi ha mostrato solo thread su posizione cursore
all'interno di un campo di testo o text area di un form. A me interessa
conoscere la posizione del cursore sullo schermo, a prescindere dal
contesto. E possibile?
Visto che javascript riesce a gestire gli eventi OnMouseOver etc, deve
necessariamente conoscerle; come chiedergli questa informazione? Grazie.
--
73 de IK2VTJ, Piero.
http://www.ardf.it
Togli/Remove 'nonvogliospam' dall'indirizzo/from address

 necessariamente conoscerle; come chiedergli questa informazione?
Sinceramente non e' chiaro cosa intendi, fai un po' di confusione tra 
il "cursore" ed il "puntatore" (del mouse).
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)


Vero, scusa! Intendo il puntatore del mouse.
Mi serve sapere le sue coordinate x ed y in pixel(presumo) sullo schermo.


 Grazie.
Si, tramite l'oggetto event.
Pero' dipendentemente dal tipo di browser devi considerare talune 
proprieta' invece di altre, se poi devi considerare anche l'eventuale 
distanza della pagina dalla scrollbar il discorso si complica 
ulteriormente.
Per farti capire, e darti uno script "funzionante", ti modifico al volo 
cio' che ho scritto per il thread "menu da immagine con mappe":
<script>
	var POINT=function(x,y){this.x=x||0;this.y=y||0;return this};
	function getEventCoords(e){
		var rv=new POINT(e.pageX||e.clientX||0, 			
					e.pageY||e.clientY||0);
		if (typeof e.pageX=="undefined"){
			if (document.documentElement&&
(document.documentElement.scrollTop||document.documentElement.scrollLef
t) ){
				rv.x+=document.documentElement.scrollLeft;
				rv.y+=document.documentElement.scrollTop;
			}else if (document.body&&
(document.body.scrollTop||document.body.scrollHeight)){
				rv.x+=document.body.scrollLeft;
				rv.y+=document.body.scrollTop;
			}
		}
		return rv;
	}
</script>
Poi basta richiamare da qualsiasi event-handler dell'oggetto che ti 
interessa tale funzione, ad esempio:
<a href="#" onclick="crds=getEventCoords(event);alert
(crds.x+'x'+crds.y);return false;">click me</a>



Passato il primo attimo di sbigottimento :-), mi è sembrato di capire che
alla fine otterrei le coordinate del cursore nel momento in cui clicco su un
oggetto(bottone). Ma non è questo che mi interessa; spiego meglio:
sposto il puntatore del  mouse sullo schermo e, quando clicco, o premo un
tasto dedicato, da qualche parte leggo o memorizzo le coordinate video del
puntatore.
Non c'è un oggetto predefinito su cui cliccare, altrimenti conoscerei già, o
quasi le sue coordinate.
Se il tuo script fa questo, cercherò di interpretarlo, altrimenti mi occorre
qualcos'altro.
Comunque grazie.


Aggiusto il tiro:
in effetti l'oggetto predefinito c'č: si tratta di un'immagine e mi
interessano le coordinate del puntatore nell'ambito della stessa immagine.


 qualcos'altro.
Il mio script, o meglio la funzione "getEventCoords()" non fa altro che 
prendere un oggetto event come parametro, e dipendentemente dalla sua 
natura restituirti un oggetto POINT che ne definisce le coordinate x/y 
all'interno della pagina, tenendo conto dell'eventuale distanza delle 
scrollbar e altre cose.


Ti ringrazio, ma mentre attendevo la risposta ho scaricato circa 10 mega di
nuovi manuali e, finalmente ho trovato qualcosa di utile e semplice:
<a href="foto.html"><img src="foto.jpg" border=0 ISMAP></a>
// basta già mettere l'immagine come link e l'attributo ismap per avere le
coordinate sulla barra di stato!
Con lo script sotto (di cui non riesco a vedere l'output perchè la foto
prende tutto il frame!) ottengo le coordinate... che posso utilizzare come
voglio(calcoli vari, scroll, etc.).
<script  type="text/javascript">
str = location.search;
if (str=="") document.write("No coords specified");
else{
 commaloc = str.indexOf(",");
 document.write("The x value is"+ str.substring(1,commaloc));
 document.write("The y value is"+ str.substring(commaloc+1,str.length));
}
</script>
In ogni caso, grazie.


 In ogni caso, grazie.
De nada.
Cmq per queste cose non hai bisogno di scaricarti decine di mega di 
manuali. Basta la reference di Javascript.


 manuali. Basta la reference di Javascript.
Beh ho scaricato quella e la guide in formato pdf!
Ciao.


 viceversa! :-(
A maggior ragione, allora, probabilmente ti conviene usare una form.


... sto studiando il tutto; pare che funzioni, ma... tornerò con altre
domande! :-)
