2012-05-29 37 views
7

Estoy tratando de rastrear la posición del mouse mientras hago clic y arrastro un valor de a[href] a la barra de marcadores (es para un bookmarklet). Parece detener el rastreo unos segundos después de que empiezo a arrastrar.jQuery - Obtener la posición del mouse mientras arrastra el enlace

El código está debajo.

var isDragging = false; 
$('a#dragthis') 
     .mousedown(function() { 
      $(window).mousemove(function(e) { 
       isDragging = true; 
       var x = e.pageX; 
       var y = e.pageY; 
       console.log(x + "|" + y); 
      }); 
     }); 

Aquí está un ejemplo jsFiddle: http://jsfiddle.net/GZpHP/

+0

¿Puede configurar un ejemplo de trabajo en jsfiddle.net? – lanzz

+0

¡Añadido! Gracias por revisar esto. –

+0

¿Podría decirnos por qué necesita la posición del cursor? Por cierto, tu script dejará de funcionar exactamente en el momento en que salgas de la ventana gráfica del navegador. – gearsdigital

Respuesta

2

Es necesario return false en el controlador mousedown, para evitar la acción por defecto de la selección de texto al arrastre.

Updated fiddle

+0

Quiero que el 'href' sea seleccionado mientras lo arrastro ... agregando' return false' parece prevenir eso. –

+0

¿Qué quieres decir? ¿Cómo llamas "the' href' "? No veo nada seleccionado mientras arrastras tu violín inicial. Si está buscando comentarios visuales, puede implementar esto agregando una clase en su dragable cuando comience a arrastrar y eliminar cuando termine. – lanzz

+0

El 'return false' desactiva la capacidad de arrastrar el enlace a la barra de marcadores. Ese es mi objetivo principal. –

0

me quería lo mismo y terminó utilizando ondragstart y ondrop para iniciar la sesión y luego manejar la posición del ratón en el evento de colocación.

No es perfecto, pero cumple su función.

Cuestiones relacionadas