2010-09-09 11 views
10

ho il seguente codice per tenere traccia in cui un utente fa clic su un'immagine:Disegnare dot sull'immagine utilizzando jQuery

<img src="images/test.jpg" id="testimg" /> 

    <script type="text/javascript"> 
     $("#testimg").click(function (ev) { 
      mouseX = ev.pageX; 
      mouseY = ev.pageY 
      alert(mouseX + ' ' + mouseY); 
     }) 

    </script> 

Quello che vorrei fare è, quando l'utente fa clic sull'immagine, voglio disegnare un punto alle coordinate X, Y del clic.

Qualcuno può darmi qualche consiglio su come questo può essere fatto?

risposta

13
<script type="text/javascript"> 
     $("#testimg").click(function (ev) { 
     mouseX = ev.pageX; 
     mouseY = ev.pageY 
     //alert(mouseX + ' ' + mouseY); 
     var color = '#000000'; 
     var size = '1px'; 
     $("body").append(
      $('<div></div>') 
       .css('position', 'absolute') 
       .css('top', mouseY + 'px') 
       .css('left', mouseX + 'px') 
       .css('width', size) 
       .css('height', size) 
       .css('background-color', color) 
     ); 
    }) 
</script> 

Questo attirerà un nero div 1x1 pixel.

+0

+1 Questo ha funzionato bene, grazie. –

+0

cosa succede se la testimonianza è in un altro contenitore posizionato? come si fa a posizionare il punto rispetto alla finestra? – butterywombat

+0

Se ridimensioni la finestra o c'è scroll, immagino, avrebbe qualche problema. – svirk