通过拖动鼠标在 inputField 中标记文本

Marking text in inputField by dragging mouse

我遇到了一个非常特殊的问题。用文字解释它对我来说很困难。

在这张图片中,在“1”下方的"X"左边有一个输入框。为了标记数字并立即更改整个值,很多人会这样做:

不知什么原因,在canvas里面松开鼠标后数字不再聚焦(灰色区域是一个goJScanvas)

在蓝色区域(“900”左侧几个像素)释放鼠标会标记文本。

我已经考虑过的事情:canvas 支持拖放。可能跟那个有关。

这是因为 GoJS Diagram 中的鼠标松开事件导致图表获得焦点。

尝试覆盖 ToolManager.doMouseUp

      $(go.Diagram, . . .,
          { . . .,
            "toolManager.doMouseUp": function() {
              if (!this.isActive) return;
              go.ToolManager.prototype.doMouseUp.call(this);
            }
          });