Javascript 从空白区域拖动Konva层
我想拖动一个Konva层,即使是空的。我发现我只能在存在对象的地方拖动图层(代码显示,可以在矩形所在的地方拖动,但不能在其他地方拖动) 如何拖动拖动空零件的图层 此外,我还看到,如果您不在层的对象中,mouseenter和mousleave也不受尊重Javascript 从空白区域拖动Konva层,javascript,konvajs,Javascript,Konvajs,我想拖动一个Konva层,即使是空的。我发现我只能在存在对象的地方拖动图层(代码显示,可以在矩形所在的地方拖动,但不能在其他地方拖动) 如何拖动拖动空零件的图层 此外,我还看到,如果您不在层的对象中,mouseenter和mousleave也不受尊重 函数demo(){ var阶段=新Konva.阶段({ 容器:'容器', 宽度:100, 身高:100 }); var layer=new Konva.layer({draggable:true}); 阶段。添加(层); 层上(“拖动”,函数(
函数demo(){
var阶段=新Konva.阶段({
容器:'容器',
宽度:100,
身高:100
});
var layer=new Konva.layer({draggable:true});
阶段。添加(层);
层上(“拖动”,函数(){
console.log(this.x(),this.y())
});
layer.on(“mouseenter”,function()){
stage.container().style.cursor='pointer';
});
layer.on(“mouseleave”,function()){
stage.container().style.cursor='default';
});
var rect=新Konva.rect({
宽度:50,
身高:50,
填充:“红色”,
笔画:“黑色”,
冲程宽度:5
});
层。添加(rect);
stage.draw();
}
演示();
Konva不会在层的空白区域检测到事件。如果你在舞台上有好几层,它是如何做到的还不清楚
如果您仍然需要侦听空层并使层在任何空间都可拖动,您可以:
单击
也可以在空白处工作)
函数demo(){
var阶段=新Konva.阶段({
容器:'容器',
宽度:300,
身高:300
});
var layer=new Konva.layer({draggable:true});
阶段。添加(层);
layer.on(“mouseenter”,function()){
stage.container().style.cursor='pointer';
});
layer.on(“mouseleave”,function()){
stage.container().style.cursor='default';
});
var rect=新Konva.rect({
宽度:50,
身高:50,
填充:“红色”,
笔画:“黑色”,
冲程宽度:5
});
var back=新的Konva.Rect({
填充:“红色”,
宽度:stage.width(),
高度:stage.height()
})
图层。添加(返回);
//移动矩形,使其始终保持在屏幕上,无论它位于何处
layer.on('dragend',function()){
setAbsolutePosition({x:0,y:0});
layer.draw();
});
层。添加(rect);
stage.draw();
}
演示();