这是有关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/

10-11 22:14
查看更多