Ich versuche ein jQuery-Ereignis zu erstellen, das ein zweites Ereignis auslöst. Das erste Ereignis ist das Klicken auf die Emoji-ID, die auf ein Bild verweist. Die zweite ist ein Mousemove-Ereignis, das das Bild um die Seite bewegt. Das dritte Ereignis stoppt dieses Ereignis, wenn der Mausklick erneut irgendwo im Hauptteil der Seite stattfindet und das Bild an dieser absoluten Position platziert. Ich konnte die zweite und die dritte Veranstaltung zum Laufen bringen, aber ich kann die erste Veranstaltung nicht mit der zweiten Veranstaltung verbinden. Hier ist, was ich bisher für meine jQuery:Erstellen eines Ereignisses, das ein zweites Ereignis auslöst
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);`
Es kann nicht funktionieren, da der angeschlossene Körper Handler sofort ausgelöst. –
Ich mag mich irren - aber warum löst es aus, wenn Sie eine Funktionsreferenz an das Ereignisobjekt übergeben? –
Das Ereignis wird von '# emoji' auf' body' propagiert. Nach dem '# emoji' Click-Handler wird das Event auf' stop() 'propagiert, da es bereits angehängt ist. –