Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [jquery] Fermare la funzione eseguita da .mousemove()

    Ciao a tutti,
    il mio problema è "semplice" nel senso che io ho questo script in jquery:

    codice:
    $(".selector").live({
    			mousedown: function(event){
    				event.preventDefault();
    				var y = event.pageY;
    				var x = event.pageX;
    				$(".xpos").val(x);
    				$(".ypos").val(y);
    				$(".in_frame").mousemove(function(event){
    					x = event.pageX;
    					y = event.pageY;
    					$(".xpos").val(x);
    					$(".ypos").val(y);
    				});
    			},
    			mouseup: function(){
    				//che ci metto qui per fermare la funzione di mousemove
    			}
    		});
    In sostanza dovrei creare un Drag&Drop fatto da me (non mi interessa che ne esistano di già fatti o che esistano modi + semplici visto che devo gestire l'output di questo script in un modo complesso preferisco farmelo da me e sapere cosa fa cosa e come estrarre i dati che mi interessano). Dunque tenendo premuto il mouse su un div particolare si darà il via alla tracciatura del posizionamento del cursore finchè non si rilascia il pulsante. Bene Riesco a far partire la tracciatura a NON a fermarla... Come posso fare?

    Ho provato un po di cose, dall'usare live() e die() a provare con il metodo event.stopImmediatePropagation() (anche se non ho capito bene il funzionamento)...

    Sono nelle vostre mani, come sempre però cercherò di trovarmi la soluzione da me, nel caso la posto.
    Aiuto perché mi piace, mi diverte, e mi allena.
    Non sono esperto, offro opportunità non obblighi.
    Uso un mio modo di fare le cose, che se risultasse poco gradito basta ignorarlo.

  2. #2
    scusate... come sempre posto qui e trovo la soluzione dopo 2 secondi...


    effettivamente m'è venuta un'illuminazione.
    avevo messo entrambi gli eventi mousedown e mouseup sullo stesso elemento... senza tenere conto del fatto che il MOUSEUP poteva essere fatto su un qlk altro elemento. dunque ho risolto così:

    codice:
    		$(".selector").live({
    			mousedown: function(event){
    				event.preventDefault();
    				var y = event.pageY;
    				var x = event.pageX;
    				$(".xpos").val(x);
    				$(".ypos").val(y);
    				$(".in_frame").live("mousemove", function(event){
    					x = event.pageX;
    					y = event.pageY;
    					$(".xpos").val(x);
    					$(".ypos").val(y);
    				});
    			}
    		});
    		$("*").mouseup(function(){
    				$(".in_frame").die("mousemove");
    			});
    chiedo per l'ennesima volta scusa per questo mio strano modo di fare le cose, scrive qui mi aiuta ad uscire dal contesto e mi fa trovare spesso le soluzioni.
    Aiuto perché mi piace, mi diverte, e mi allena.
    Non sono esperto, offro opportunità non obblighi.
    Uso un mio modo di fare le cose, che se risultasse poco gradito basta ignorarlo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.