Javascript CodeMirror-检查光标是否位于行的末尾
我在编辑器中以以下方式设置只读行:Javascript CodeMirror-检查光标是否位于行的末尾,javascript,jquery,readonly,codemirror,end-of-line,Javascript,Jquery,Readonly,Codemirror,End Of Line,我在编辑器中以以下方式设置只读行: editor.on('beforeChange', function(cm, change) { if (~readOnlyLines.indexOf(change.from.line)) { change.cancel(); } } 其中readOnlyLines是一个数组,包含要只读的行数 问题是,当我在一个下面有只读行的可编辑行上时,如果我按“Del”,只读行会向上移动,我可以编辑它 如果我在上面有一个只读行,并且我按下
editor.on('beforeChange', function(cm, change) {
if (~readOnlyLines.indexOf(change.from.line)) {
change.cancel();
}
}
其中readOnlyLines是一个数组,包含要只读的行数
问题是,当我在一个下面有只读行的可编辑行上时,如果我按“Del”,只读行会向上移动,我可以编辑它
如果我在上面有一个只读行,并且我按下“BackSpace”,同样的方法就不起作用了
我想我应该添加一个if,同时检查是否:
$(函数(){
var editor=codemirr.fromTextArea(document.getElementById('txtArea'){
行号:对
});
var readonlyline=[1,2,3];
编辑器.on('beforeChange',函数(cm,change){
if(~readOnlyLines.indexOf(change.from.line)){
change.cancel();
}否则{
//如果要在下一个只读行之前删除该行中的
if((change.origin=='+delete')&&&~readOnlyLines.indexOf(1+change.from.line)){
//当您在当前行的末尾按DEL时
if(cm.doc.getLine(change.from.line).length==change.from.ch){
change.cancel();
}
//如果要删除整行
if(cm.doc.getSelection()==cm.doc.getLine(change.from.line)){
change.cancel();
}
//如果行是空的
if(cm.doc.getLine(change.from.line).trim().length==0){
change.cancel();
}
}
}
});
});
1111
2222只读
3333只读
4444只读
5555
6666
7777