要使用 Konva 拖放形状,我们可以在实例化形状时将 draggable
属性设置为 true,或者可以使用 draggable()
方法。
draggable()
方法自动为桌面和移动应用启用拖放功能。
要使用 Konva 检测拖放事件,我们可以使用 on()
方法将 dragstart
、dragmove
或 dragend
事件绑定到节点。
on()
方法需要一个事件类型和一个在事件发生时执行的函数。
Konva 拖放演示view raw<!DOCTYPE html> <html> <head> <script src="https://unpkg.com/konva@9.3.18/konva.min.js"></script> <meta charset="utf-8" /> <title>Konva Drag and Drop Demo</title> <style> body { margin: 0; padding: 0; overflow: hidden; background-color: #f0f0f0; } </style> </head> <body> <div id="container"></div> <script> var width = window.innerWidth; var height = window.innerHeight;
var stage = new Konva.Stage({ container: 'container', width: width, height: height, });
var layer = new Konva.Layer(); var rectX = stage.width() / 2 - 50; var rectY = stage.height() / 2 - 25;
var box = new Konva.Rect({ x: rectX, y: rectY, width: 100, height: 50, fill: '#00D2FF', stroke: 'black', strokeWidth: 4, draggable: true, });
box.on('mouseover', function () { document.body.style.cursor = 'pointer'; }); box.on('mouseout', function () { document.body.style.cursor = 'default'; });
layer.add(box); stage.add(layer); </script> </body> </html>
|