En javascript, dentro del evento javascript para onMouseMove, ¿cómo obtengo la posición del mouse en x, y corrige en relación con la parte superior de la página?onMouseMove obtener la posición del mouse
Respuesta
si se puede usar jQuery, entonces this le ayudará:
<div id="divA" style="width:100px;height:100px;clear:both;"></div>
<span></span><span></span>
<script>
$("#divA").mousemove(function(e){
var pageCoords = "(" + e.pageX + ", " + e.pageY + ")";
var clientCoords = "(" + e.clientX + ", " + e.clientY + ")";
$("span:first").text("(e.pageX, e.pageY) - " + pageCoords);
$("span:last").text("(e.clientX, e.clientY) - " + clientCoords);
});
</script>
aquí es puro Javascript único ejemplo:
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
}
else { // grab the x-y pos.s if browser is NS
tempX = e.pageX;
tempY = e.pageY;
}
if (tempX < 0){tempX = 0;}
if (tempY < 0){tempY = 0;}
document.Show.MouseX.value = tempX;//MouseX is textbox
document.Show.MouseY.value = tempY;//MouseY is textbox
return true;
}
hmm, el ejemplo js parece muy similar a http: // www.codelifter.com/main/javascript/capturemouseposition1.html excepto sin los prácticos comentarios – RozzA
'id =" # divA "' y '$ (" divA ")' - alguien estaba dormido al escribir este – RozzA
@RozzA gracias por prestar atención. – TheVillageIdiot
Especialmente con eventos mousemove, que el fuego rápido y furioso, es bueno reduzca los manipuladores antes de usarlos-
var whereAt= (function(){
if(window.pageXOffset!= undefined){
return function(ev){
return [ev.clientX+window.pageXOffset,
ev.clientY+window.pageYOffset];
}
}
else return function(){
var ev= window.event,
d= document.documentElement, b= document.body;
return [ev.clientX+d.scrollLeft+ b.scrollLeft,
ev.clientY+d.scrollTop+ b.scrollTop];
}
})()
document.ondblclick = function (e) {alert (whereAt (e))};
Puede ser un poco exagerado usar d3.js solo para encontrar las coordenadas del mouse, pero tienen una función muy útil llamada d3.mouse(*container*)
. A continuación se muestra un ejemplo de hacer lo que quiere hacer:
var coordinates = [0,0];
d3.select('html') // Selects the 'html' element
.on('mousemove', function()
{
coordinates = d3.mouse(this); // Gets the mouse coordinates with respect to
// the top of the page (because I selected
// 'html')
});
En el caso anterior, la coordenada x sería coordinates[0]
, y la coordenada y sería coordinates[1]
. Esto es extremadamente útil, porque puede obtener las coordenadas del mouse con respecto a cualquier contenedor que desee intercambiando 'html'
con la etiqueta (por ejemplo, 'body'
), nombre de clase (por ejemplo, '.class_name'
) o id (por ejemplo, '#element_id'
).
+1, pero ** Advertencia razonable **: Este enfoque es un poco demasiado lento para su uso contra 'onmousemove'. Ya tenía d3.js en mi proyecto, así que lo probé, pero no es lo suficientemente fuerte para mi caso de uso. – elrobis
Esto está probado y funciona en todos los navegadores:
function getMousePos(e) {
return {x:e.clientX,y:e.clientY};
}
Ahora usted puede utilizarlo en un evento como este:
document.onmousemove=function(e) {
var mousecoords = getMousePos(e);
alert(mousecoords.x);alert(mousecoords.y);
};
- 1. Obtener posición del mouse
- 2. Cómo obtener la posición del mouse sobre un cierto control
- 3. Javascript: obtener la posición del mouse relativo al elemento principal
- 4. jQuery - Obtener la posición del mouse mientras arrastra el enlace
- 5. addGlobalMonitorForEventsMatchingMask solo devolviendo la posición del mouse
- 6. C# XNA Posición del mouse
- 7. Obteniendo la posición del mouse en C#
- 8. obteniendo la posición del mouse con javascript dentro del lienzo
- 9. Obteniendo la posición del mouse en el evento del teclado
- 10. jQuery Establecer posición del mouse (no posición del cursor)
- 11. posición del cursor del mouse en Javascript?
- 12. Cocoa: Obteniendo la posición actual del mouse en la pantalla
- 13. Cómo obtener la posición del cursor
- 14. Obteniendo la posición "global" del mouse en Mac OS X
- 15. ¿Cómo obtener la posición del puntero del mouse con javascript para Internet Explorer?
- 16. Obtener la posición del mouse durante la operación de arrastrar y soltar
- 17. Ver si se mantiene presionado el botón izquierdo del mouse en el evento OnMouseMove
- 18. Mostrar la posición x e y del mouse con javascript
- 19. JavaScript convierte la posición del mouse al rango de selección
- 20. Configuración de la posición del mouse sin System.Windows.Forms
- 21. Cambio en la posición del mouse cuando se agrega viewbox
- 22. Detectar la posición relativa del mouse en el lienzo matplotlib
- 23. Buscar la posición del mouse relativo a un panel
- 24. ¿Cómo configuro la posición del mouse en Java?
- 25. Obteniendo la posición del mouse relativa a un control
- 26. JFreeChart obtener coordenadas del mouse
- 27. obtener la ubicación del mouse sin un oyente
- 28. ¿Cómo puedo obtener el componente en la posición de clic del mouse, cuando uso un TableCellEditor?
- 29. Matlab: Cómo obtener la posición actual del mouse en un clic utilizando callbacks
- 30. jQuery posición del mouse en mousedown() sin mousemove()
posible duplicado de [¿Cómo obtener la posición del ratón en jQuery y sin ratón -eventos?] (http://stackoverflow.com/questions/4517198/how-to-get-mouse-position-in-jquery-without-mouse-events) – Lucio