我们可以使用 off()
方法从图形移除事件,方法需要传入一个事件类型例如:click、mousedown。
说明:点击圆形将会看见事件绑定的提示框弹出,移除事件后再次点击,提示框不再弹出,表示事件已被移除。
Konva Remove_Event Demoview raw<!DOCTYPE html> <html> <head> <script src="https://unpkg.com/konva@4.0.18/konva.min.js"></script> <meta charset="utf-8" /> <title>Konva Remove Event Listener Demo</title> <style> body { margin: 0; padding: 0; overflow: hidden; background-color: #f0f0f0; }
#buttons { position: absolute; top: 5px; left: 10px; } </style> </head>
<body> <div id="container"></div> <div id="buttons"> <button id="removeClick"> Remove onclick </button> </div> <script> function writeMessage(message) { text.text(message); layer.draw(); }
var stage = new Konva.Stage({ container: 'container', width: window.innerWidth, height: window.innerHeight });
var layer = new Konva.Layer();
var circle = new Konva.Circle({ x: stage.width() / 2, y: stage.height() / 2 + 10, radius: 70, fill: 'red', stroke: 'black', strokeWidth: 4 });
circle.on('click', function() { alert('You clicked on the circle'); });
layer.add(circle); stage.add(layer);
document.getElementById('removeClick').addEventListener( 'click', function() { circle.off('click'); alert('onclick removed'); }, false ); </script> </body> </html>
|