usar una tablas tabla posicion obtener imagen elemento ejemplos datos coordenadas con como bootstrap agregar javascript jquery html css jquery-ui

javascript - una - Usando jQuery cómo obtener coordenadas de clic en el elemento de destino



obtener la posicion de un elemento javascript (6)

Tengo el siguiente controlador de eventos para mi elemento html

jQuery("#seek-bar").click(function(e){ var x = e.pageX - e.target.offsetLeft; alert(x); });

Necesito encontrar la posición del mouse en la # barra de búsqueda al momento de hacer clic. Hubiera pensado que el código anterior debería funcionar, pero da un resultado incorrecto


¿Está tratando de obtener la posición del puntero del mouse relative al elemento (o) simplemente la ubicación del puntero del mouse?

Pruebe esta demostración: http://jsfiddle.net/AMsK9/

Editar:

1) event.pageX , event.pageY te da el documento relativo a la posición del mouse!

Ref : http://api.jquery.com/event.pageX/
http://api.jquery.com/event.pageY/

2) offset() : da la posición de desplazamiento de un elemento

Ref : http://api.jquery.com/offset/

3) position() : te da la posición relativa de un elemento, es decir,

considerar un elemento está incrustado dentro de otro elemento

ejemplo :

<div id="imParent"> <div id="imchild" /> </div>

Ref : http://api.jquery.com/position/

HTML

<body> <div id="A" style="left:100px;"> Default <br /> mouse<br/>position </div> <div id="B" style="left:300px;"> offset() <br /> mouse<br/>position </div> <div id="C" style="left:500px;"> position() <br /> mouse<br/>position </div> </body>

JavaScript

$(document).ready(function (e) { $(''#A'').click(function (e) { //Default mouse Position alert(e.pageX + '' , '' + e.pageY); }); $(''#B'').click(function (e) { //Offset mouse Position var posX = $(this).offset().left, posY = $(this).offset().top; alert((e.pageX - posX) + '' , '' + (e.pageY - posY)); }); $(''#C'').click(function (e) { //Relative ( to its parent) mouse position var posX = $(this).position().left, posY = $(this).position().top; alert((e.pageX - posX) + '' , '' + (e.pageY - posY)); }); });


Prueba esto:

jQuery(document).ready(function(){ $("#special").click(function(e){ $(''#status2'').html(e.pageX +'', ''+ e.pageY); }); })

Aquí puedes encontrar más http://api.jquery.com/event.pageX/ con DEMO


Si MouseEvent.offsetX es supported con su navegador (todos los principales navegadores lo admiten), el objeto Evento jQuery contendrá esta propiedad.

La propiedad de solo lectura MouseEvent.offsetX proporciona el desplazamiento en la coordenada X del puntero del mouse entre ese evento y el borde de relleno del nodo de destino.

$("#seek-bar").click(function(event) { var x = event.offsetX alert(x); });


mira aquí ingresa la descripción del enlace aquí

html

<body> <p>This is a paragraph.</p> <div id="myPosition"> </div> </body>

css

#myPosition{ background-color:red; height:200px; width:200px; }

jquery

$(document).ready(function(){ $("#myPosition").click(function(e){ var elm = $(this); var xPos = e.pageX - elm.offset().left; var yPos = e.pageY - elm.offset().top; alert("X position: " + xPos + ", Y position: " + yPos); }); });


En porcentaje:

$(''.your-class'').click(function (e){ var $this = $(this); // or use $(e.target) in some cases; var offset = $this.offset(); var width = $this.width(); var height = $this.height(); var posX = offset.left; var posY = offset.top; var x = e.pageX-posX; x = parseInt(x/width*100,10); x = x<0?0:x; x = x>100?100:x; var y = e.pageY-posY; y = parseInt(y/height*100,10); y = y<0?0:y; y = y>100?100:y; console.log(x+''% ''+y+''%''); });


$(''#something'').click(function (e){ var elm = $(this); var xPos = e.pageX - elm.offset().left; var yPos = e.pageY - elm.offset().top; console.log(xPos, yPos); });