Sto provando a creare un evento jQuery che attiva un secondo evento. Il primo evento fa clic sull'id emoji che si riferisce a un'immagine. Il secondo è un evento in mousemove che sposta l'immagine attorno alla pagina. Il terzo evento interrompe questo evento quando il clic del mouse si ripete ovunque nel corpo della pagina e posiziona l'immagine in quella posizione assoluta. Sono riuscito a far funzionare il secondo e il terzo evento ma non riesco a far funzionare il primo evento con il secondo. Ecco quello che ho finora per il mio jQuery:Creazione di un evento che attiva un secondo evento
var mouseTracker = function(event) {
console.log(event.pageX, event.pageY, !!event.which)
$('#emoji').css('top', event.pageY);
$('#emoji').css('bottom', event.pageY);
$('#emoji').css('left', event.pageX);
$('#emoji').css('right', event.pageX);
}
var begin = function() {
$('body').on('mousemove', mouseTracker);
$('body').css('cursor', 'none');
}
var stop = function() {
$('body').off('mousemove', mouseTracker);
$('#emoji').css('postion', 'absolute')
$('body').css('cursor', 'default');
}
$('#emoji').on('click', begin);
$('body').on('click', stop);`
Non può funzionare, dal momento che il gestore corpo attaccato viene immediatamente attivata. –
Potrei sbagliarmi - ma perché si attiva se si passa un riferimento a una funzione all'oggetto evento? –
L'evento è propagato da '# emoji' a' body'. Dopo che esiste dal gestore dei clic di '# emoji', l'evento viene propagato a' stop() ', poiché è già collegato. –