Ich kann ein Objekt animieren und dann ein mouse:over
Ereignis hinzufügen.Fabric JS mit der Maus: über ein animierendes Objekt
var canvas = new fabric.Canvas('c');
var x1 = 5;
var y1 = 5;
var x2 = 100;
var y2 = 100;
var rect = new fabric.Rect({
width: 10,
height: 10,
left: x1,
top: y1,
stroke: '#000',
strokeWidth: 2,
fill: '#faa',
selectable: false
});
canvas.add(rect);
rect.animate({
'left': x2,
'top': y2
}, {
duration: 10000,
onChange: canvas.renderAll.bind(canvas),
onComplete: function() {
}
});
canvas.on('mouse:over', function (e) {
console.log('mouseover');
});
<canvas id="c"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.6.3/fabric.min.js"></script>
jedoch das mouse:over
Ereignis aus dem Rechteck ursprünglichen Position schießen weiter. Sobald die Animation beendet ist, arbeitet das Ereignis mouse:over
erneut über dem animierten Objekt.
Kann ein Ereignis mouse:over
ausgelöst werden, während sich ein Objekt bewegt/animiert?
Danke Frank. Aber autsch, das könnte mit mehr Objekten intensiv werden? –
@JakeN Das kann sehr wohl der Fall sein. Das ist die beste Problemumgehung, die ich mir vorstellen kann. Hoffentlich kann jemand anderes etwas besser vorschlagen, oder vielleicht werden sie antworten, wenn Sie ein Problem melden. –