【问题标题】:Using ace-editor with readonly and small editable areas使用带有只读和小的可编辑区域的 ace-editor
【发布时间】:2014-12-27 11:17:52
【问题描述】:

我正在尝试使用 ace-editor 编写代码教程,所以我需要将我的代码放在编辑器中,但只允许用户编辑某些部分。 例如:

....
myfunction(1000);
...

用户只能编辑括号中的值 (1000)。 我曾尝试在键盘事件中使用 Anchor(用于 1000)和 readonly 的组合,但 Anchor 似乎无法按照您希望模板的方式工作。

如果有任何示例或建议,我将不胜感激。

提前致谢。

乔恩

【问题讨论】:

    标签: readonly ace-editor


    【解决方案1】:

    锚点有未记录的$insertRight 选项,请参阅https://github.com/ajaxorg/ace/blob/master/lib/ace/anchor.js#L134,您可以将其用于第一个锚点。

    另一种解决方案是在vim.js 中编写类似updateMarkers 的函数

    【讨论】:

    • 感谢您的回复,让这个工作仍然很棘手,因为我可以让锚点工作,但您似乎总是可以将光标移回该区域并删除最后一个字符 - 奇怪!所以我现在的解决方案是使整个区域只读,并突出显示可编辑区域,当用户单击时,会弹出一个对话框,虽然不理想但效果很好。
    • 我有一个类似的问题,使用只读/可编辑锚。用户可以删除可编辑锚的最后一个字符,使其处于不可编辑模式,因为它触及了不可编辑的锚。我的解决方案是将可编辑的锚点包装在空格中并监听“输入”事件以在它们被删除时恢复它们。这样用户就不能删除最后一个字符。希望听到更好的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 2012-07-31
    • 2015-02-16
    相关资源
    最近更新 更多