跳到主要内容

HTML5 Canvas 拖放事件

如需检测 Konva 拖放事件,可以使用 on() 方法将 dragstartdragmovedragend 事件绑定到节点。 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: 'Draggable 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('drag started');
});

text.on('dragend', () => {
  status.text('drag ended');
});

text.on('dragmove', () => {
  status.text('dragging');
});