Пометка текста в поле ввода путем перетаскивания мышью - PullRequest
0 голосов
/ 10 октября 2019

У меня очень специфическая проблема. Объяснить это в тексте было бы трудно для меня. enter image description here

На этом рисунке слева от "X" находится поле ввода ниже "1". Чтобы пометить число и сразу изменить все значение, многие люди будут делать следующее:

  • Поместите мышь в положение «X» ниже «1»
  • Нажмите левую кнопку мыши вниз
  • Перетаскивайте влево, пока не достигнете точки где-то рядом с «X» под «2»
  • Отпустите левую кнопку мыши

По каким-то причинам число больше не фокусируется после отпускания мыши внутри холста (серая область - это холст goJS)

Отпускание мыши в синей области (несколько пикселей слева от "900"") отмечает текст.

Что-то, что я уже рассмотрел: холст имеет поддержку перетаскивания. Может быть, это связано с этим.

1 Ответ

1 голос
/ 11 октября 2019

Это происходит потому, что событие наведения курсора на диаграмме GoJS вызывает фокусировку диаграммы.

Попробуйте переопределить ToolManager.doMouseUp :

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