Codemirror mouseup事件

时间:2018-10-27 10:39:38

标签: mouseevent codemirror

与mousedown相反,似乎CodeMirror实例未触发mouseup事件(其文档不包括mouseup事件)。

我需要对mouseup事件做出反应,以将焦点移到另一个Codemirror实例。

情况如下:一个编辑器(例如editor1)是“只读”的,但是必须允许选择(并复制到剪贴板)。如果只单击了editor1,则必须将焦点移到另一个实例(例如editor2)。如果在editor1上进行了选择,则不得将焦点移到editor2上。

我可以对mousedown做出反应(如下面的示例所示),但对mouseup则不能做出反应:

<script>

var editor1 = CodeMirror(document.body, {
  readOnly : true,
  cursorBlinkRate : -1
});

var editor2 = CodeMirror(document.body);

editor1.on("mousedown", function (cm, ev) {
  ev.codemirrorIgnore = true;
  ev.preventDefault();
  editor2.focus();
});

</script>

1 个答案:

答案 0 :(得分:1)

对于该用例,您不应使用codemirros鼠标事件。相反,我建议使用vanilla mouse events,然后检查选择项是否为空,是否移动焦点

演示:https://codepen.io/quic5/pen/EGEREr