Skip to main content

HTML5 Canvas 拖放事件

要使用 Konva 检测拖放事件,我们可以使用 on() 方法将 dragstart、dragmove 或 dragend 事件绑定到一个节点。 on() 方法需要一个事件类型和一个在事件发生时执行的函数。

import Konva from 'konva';

const stage = new Konva.Stage({
container: 'container',
width: window.innerWidth,
height: window.innerHeight,
});

const layer = new Konva.Layer();
stage.add(layer);

const text = new Konva.Text({
x: 40,
y: 40,
text: '可拖动文本',
fontSize: 20,
draggable: true,
width: 200,
});
layer.add(text);

const status = new Konva.Text({
x: 40,
y: 100,
text: '',
fontSize: 16,
width: 200,
});
layer.add(status);

text.on('dragstart', () => {
status.text('拖动开始');
});

text.on('dragend', () => {
status.text('拖动结束');
});

text.on('dragmove', () => {
status.text('拖动中');
});