如何阻止CodeMirror在keyup上移动游标?

时间:2014-06-30 08:31:10

标签: javascript codemirror

我想使用CodeMirror跳过代码中的某些不可编辑的(XML-)标记。为了做到这一点,我必须停止' (preventDefault)keyup事件,做一些逻辑并移动光标。 PreventDefault和codemirrorIgnore无法工作或不做我需要他们做的事情。我是否必须在CodeMirror之外捕获事件? :(

不起作用:

codeMirror.on('keyup', function (cm, ev) { ev.codemirrorIgnore = true; ev.preventDefault(); return false; });

2 个答案:

答案 0 :(得分:1)

通过使用以下代码,您可以处理向上箭头功能

codeMirror.setOption("extraKeys", {"Up":function()
{
 console.log("Key Up pressed");
if(true) // logic to decide whether to move up or not
{
 return CodeMirror.PASS;
}
}});

答案 1 :(得分:1)

听起来你真正想要的是markText atomicreadOnly选项,而不是搞乱关键事件(这些事件确实无法阻止用户进入/编辑文本。)