gpt4 book ai didi

javascript - FabricJs Canvas 'Mouse:over' 事件不工作

转载 作者:行者123 更新时间:2023-11-29 22:48:07 25 4
gpt4 key购买 nike

我正在尝试在 FabricJS(version:1.4.0) Canvas 上监听 mouse:over 事件,但它似乎没有像我预期的那样工作。这是片段

const canvas = new fabric.Canvas('gameCanvas', {selection: false});

const rect = new fabric.Rect({
left: 120,
top: 30,
width: 100,
height: 100,
fill: 'green',
angle: 20,
name: 'Rectangle',
hoverCursor: 'pointer'
});

canvas.add(rect);
canvas.renderAll();

$('.upper-canvas').mouseover(function (e)
{

if(e.target !== null)
{
if(e.target.name === 'Rectangle')
{
e.target.set('fill', 'red');
canvas.renderAll();
console.log('mouse:over', e.target.name);
}
}

});

$('.upper-canvas').mouseout(function (e)
{
if(e.target !== null){
e.target.set('fill', 'green');
canvas.renderAll();
console.log('mouse:out', e.target.name);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.4.0/fabric.min.js"></script>
<canvas id="gameCanvas" width="500" height="300" style="border: 2px solid green;"></canvas>

也添加了 mouse:out 事件和 canvas.renderAll() 函数来重新绘制 Canvas 。

最佳答案

来自 1.5.0 changelog :

Add "mouse:over" and "mouse:out" canvas events (and corresponding "mouseover", "mouseout" object events).

在 1.5.0 之前几乎没有此类事件。

关于javascript - FabricJs Canvas 'Mouse:over' 事件不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57960473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com