Skip to main content

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: '可拖动文本',
  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('拖动中');
});