如何设置" tabindex"以编程或其他方式在摩纳哥编辑器上?

时间:2017-12-20 02:33:18

标签: monaco-editor

我想知道是否有办法设置" tabindex"以编程方式或其他方式在编辑器上。在我的应用程序中,monaco编辑器是一个相当复杂的形式(位于常规HTML表单字段元素之间)的一部分,我需要在表单字段元素上定义tabindex属性。我相信编辑器上的tabindex设置为" 0"。它创建的问题是,一旦我退出编辑器,它就会跳转到订单中的HTML元素。

例如,请查看下面的图片。

enter image description here

理想情况下,当我在编辑器中按Tab键时,焦点应该放在" LOCKED UNTIL"的文本框中。 (1)当我在编辑器中按shift + tab键时,焦点应该放在" MESSAGE ID"的文本框中。 (2)。但是,按Tab键将焦点放在拆分器(3)上,因为拆分器和编辑器的tabindex都为" 0"。

目前要解决此问题,我正在编辑器上捕获keyDown事件并手动设置焦点。

  editor.onKeyDown((evt) => {
    if (evt.keyCode === monaco.KeyCode.Tab) {
      if (evt.shiftKey) {
        $('#MessageId').select();
        evt.preventDefault();
        evt.stopPropagation();
      } else {
        $('#MessageLockedUntil').select();
        evt.preventDefault();
        evt.stopPropagation();
      }
    }
  });

我想知道是否有更好的方法来解决这个问题?

0 个答案:

没有答案