Ricavare la posizione del cursore (la | che lampeggia) in una textarea
Il codice l'ho prelevato qui sul forum e non l'ho testato/provatocodice:<script> var isSelected = false; function markSelection ( txtObj ) { if ( txtObj.createTextRange ) { txtObj.caretPos = document.selection.createRange().duplicate(); isSelected = true; } } function insertTag ( txtName, tag ) { if ( isSelected ) { var txtObj = eval ( "document.forms[0]." + txtName ); if (txtObj.createTextRange && txtObj.caretPos) { var caretPos = txtObj.caretPos; caretPos.text = tag+caretPos.text; markSelection ( txtObj ); if ( txtObj.caretPos.text=='' ) { isSelected = false; txtObj.focus(); } } } else { // gestione perdita focus } } </script> <form> <textarea name="tsttxt"onselect="markSelection(this);" onclick="markSelection(this);" onkeyup="markSelection(this);"></textarea> </form>
Se invece vuoi recuperare la posizione del mouse nel documento
Anche questo non l'ho testato non mi sembra ci sia altrocodice:<script>function posizioneMouse(event,obj){ var scrollTOP = (document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop; var scrollLEFT = (document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft; if(window.event){ var allX = window.event.clientX+scrollLEFT; var allY = window.event.clientY+scrollTOP; } else { var allX = event.clientX+scrollLEFT; var allY = event.clientY+scrollTOP; } var elParent = obj; var objX = 0; var objY = 0; while (elParent){ objX += elParent.offsetLeft; objY += elParent.offsetTop; elParent = elParent.offsetParent; } var x = allX-objX; var y = allY-objY; alert("Coordinata x:"+x+"px, coordinata y:"+y+"px"); } </script> <div style="width:200px; height:200px; background-color:#0FF;" onclick="posizioneMouse(event,document.getElementById('test'));"></div>

Rispondi quotando