跳到主要内容

HTML5 Canvas 指针事件教程

指针事件可用于通过一个处理程序同时处理移动端和桌面端事件。

要使用 Konva 为图形绑定指针事件处理程序,可以使用 on() 方法。 on() 方法需要一个事件类型,以及一个在事件发生时执行的函数。 Konva 支持 pointerdownpointermovepointeruppointercancelpointeroverpointerenterpointeroutpointerleavepointerclickpointerdblclick 事件。

注意:此示例同时适用于移动端和桌面端设备。

操作说明:在三角形上移动鼠标或手指,以查看指针坐标。

import Konva from 'konva';

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

const layer = new Konva.Layer();

const text = new Konva.Text({
x: 10,
y: 10,
fontFamily: 'Calibri',
fontSize: 24,
text: '',
fill: 'black',
});

const triangle = new Konva.RegularPolygon({
x: stage.width() / 2,
y: stage.height() / 2,
sides: 3,
radius: 80,
fill: '#00D2FF',
stroke: 'black',
strokeWidth: 4,
});

function writeMessage(message) {
text.text(message);
}

triangle.on('pointermove', function () {
const pos = stage.getPointerPosition();
writeMessage('x: ' + pos.x + ', y: ' + pos.y);
});

triangle.on('pointerout', function () {
writeMessage('');
});

layer.add(triangle);
layer.add(text);
stage.add(layer);