- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Ace 代码编辑器,我可以锁定或只读一段代码,但仍允许在 session 期间编写或编辑其他代码行吗?
最佳答案
这是解决方案的开始:
$(function() {
var editor = ace.edit("editor1")
, session = editor.getSession()
, Range = require("ace/range").Range
, range = new Range(1, 4, 1, 10)
, markerId = session.addMarker(range, "readonly-highlight");
session.setMode("ace/mode/javascript");
editor.keyBinding.addKeyboardHandler({
handleKeyboard : function(data, hash, keyString, keyCode, event) {
if (hash === -1 || (keyCode <= 40 && keyCode >= 37)) return false;
if (intersects(range)) {
return {command:"null", passEvent:false};
}
}
});
before(editor, 'onPaste', preventReadonly);
before(editor, 'onCut', preventReadonly);
range.start = session.doc.createAnchor(range.start);
range.end = session.doc.createAnchor(range.end);
range.end.$insertRight = true;
function before(obj, method, wrapper) {
var orig = obj[method];
obj[method] = function() {
var args = Array.prototype.slice.call(arguments);
return wrapper.call(this, function(){
return orig.apply(obj, args);
}, args);
}
return obj[method];
}
function intersects(range) {
return editor.getSelectionRange().intersects(range);
}
function preventReadonly(next, args) {
if (intersects(range)) return;
next();
}
});
关于user-interface - 王牌编辑器 : Lock or Readonly Code Segment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24958589/
我正在使用 ace:datatable(在我的 jsf 项目中)。 在这个表里面我有一个选择框,我想要像 this ,我已经在我的页面上实现了它,所有选择框都按预期显示。 但是当我(用户)过滤 ace
我的 Web 应用程序使用 我想向列添加默认过滤器。数据表使用延迟加载。我知道我可以将托管 bean 中的过滤器添加到“load”方法中。 但是我需要在渲染页面开始时将过滤器设置到 View 中的过滤
如果一次性定时器是通过 schedule_timer(timer,0,ACE_Time_Value(delay),ACE_Time_Value::zero) 是否需要 cancel_timer 以避免
我正在尝试整合 Ace editor到我的网站。我知道它有用于打开搜索和替换弹出窗口的键盘快捷键。有没有办法以编程方式打开它们? 我注意到 editor.searchBox 从一开始就是 undefi
我是 Ace 的新手,我正在用它制作一个 JavaScript 编辑器。我在编辑器中添加了自动完成器: var functionCompleter = { getCompletions: fu
我有这段代码,但我不知道如何完成 formatString 和 TickInterval 字段 xAxis.setAutoscale(Boolean.TRUE); xAxis.setT
我正在使用icefaces版本3.0.0并且我正在使用ace dataTable组件,如下所示: 1- Jsf 代码: 0}" rows="
我是一名优秀的程序员,十分优秀!