这是有关this问题的跟进。
我需要创建具有以下约束的“水平画笔”:
只允许在右侧调整画笔的大小
这意味着禁用左侧移动和调整大小
单击selection
应该触发一个单独的动作,而不触发默认的move
动作
我可以使用那里的解决方案实现第一名和第二名。这是关于问题3的扩展。
最佳答案
我将限制为仅回答您的项目3.关于处理笔刷选择上的单击。将示例从我的answer扩展到您的其他问题,可以使用D3在与所选内容相对应的<rect class="selection"/>
上注册事件处理程序的方式来完成。
g.selectAll(".selection")
.on("mousedown touchstart", function() {
// Add/enable second brush here.
console.log("Selection clicked");
});
看一下工作的demo。
我的其他答案已经涉及到禁用默认的移动行为,因此这只会添加一个新的处理函数作为您自己代码的钩子。
关于javascript - 覆盖笔刷选择的默认移动行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48510351/