笙默考试管理系统-MyExamTest----codemirror(45)

笙默考试管理系统-MyExamTest----codemirror(44)

目录

笙默考试管理系统-MyExamTest----codemirror(44)

[一、 笙默考试管理系统-MyExamTest----codemirror](#一、 笙默考试管理系统-MyExamTest----codemirror)

[二、 笙默考试管理系统-MyExamTest----codemirror](#二、 笙默考试管理系统-MyExamTest----codemirror)

[三、 笙默考试管理系统-MyExamTest----codemirror](#三、 笙默考试管理系统-MyExamTest----codemirror)

[四、 笙默考试管理系统-MyExamTest----codemirror](#四、 笙默考试管理系统-MyExamTest----codemirror)

[五、 笙默考试管理系统-MyExamTest----codemirror](#五、 笙默考试管理系统-MyExamTest----codemirror)

  • 笙默考试管理系统-MyExamTest----codemirror

}

Line.inheritMarks = function(text, orig) {

var ln = new Line(text), mk = orig && orig.marked;

if (mk) {

for (var i = 0; i < mk.length; ++i) {

if (mk[i].to == null && mk[i].style) {

var newmk = ln.marked || (ln.marked = []), mark = mk[i];

var nmark = mark.dup(); newmk.push(nmark); nmark.attach(ln);

}

}

}

return ln;

}

  • 笙默考试管理系统-MyExamTest----codemirror

Line.prototype = {

// Replace a piece of a line, keeping the styles around it intact.

replace: function(from, to_, text) {

var st = [], mk = this.marked, to = to_ == null ? this.text.length : to_;

copyStyles(0, from, this.styles, st);

if (text) st.push(text, null);

copyStyles(to, this.text.length, this.styles, st);

this.styles = st;

this.text = this.text.slice(0, from) + text + this.text.slice(to);

this.stateAfter = null;

if (mk) {

  • 笙默考试管理系统-MyExamTest----codemirror

var diff = text.length - (to - from);

for (var i = 0, mark = mk[i]; i < mk.length; ++i) {

mark.clipTo(from == null, from || 0, to_ == null, to, diff);

if (mark.isDead()) {mark.detach(this); mk.splice(i--, 1);}

}

}

},

// Split a part off a line, keeping styles and markers intact.

split: function(pos, textBefore) {

var st = [textBefore, null], mk = this.marked;

copyStyles(pos, this.text.length, this.styles, st);

var taken = new Line(textBefore + this.text.slice(pos), st);

if (mk) {

  • 笙默考试管理系统-MyExamTest----codemirror

for (var i = 0; i < mk.length; ++i) {

var mark = mk[i];

var newmark = mark.split(pos, textBefore.length);

if (newmark) {

if (!taken.marked) taken.marked = [];

taken.marked.push(newmark); newmark.attach(taken);

}

}

}

return taken;

},

  • 笙默考试管理系统-MyExamTest----codemirror

append: function(line) {

var mylen = this.text.length, mk = line.marked, mymk = this.marked;

this.text += line.text;

copyStyles(0, line.text.length, line.styles, this.styles);

if (mymk) {

for (var i = 0; i < mymk.length; ++i)

if (mymk[i].to == null) mymk[i].to = mylen;

相关推荐
Kiri霧3 小时前
Linux下的Rust 与 C 的互操作性解析
c语言·开发语言·rust
雪芽蓝域zzs3 小时前
uniapp AES 加密解密
开发语言·uni-app·c#
雨夜的星光3 小时前
Python JSON处理:load/loads/dump/dumps全解析
开发语言·python·json
fen_fen4 小时前
Java打包时,不将本地Jar打包到项目的最终 JAR 中
开发语言·python·pycharm
灵感__idea5 小时前
Hello 算法:让前端人真正理解算法
前端·javascript·算法
向葭奔赴♡6 小时前
CSS是什么?—— 网页的“化妆师”
前端·css
黑犬mo6 小时前
在Edge、Chrome浏览器上安装uBlock Origin插件
前端·edge
excel6 小时前
🧩 Vue 3 watch 源码详解(含完整注释)
前端·javascript·vue.js
大前端helloworld6 小时前
前端梳理体系从常问问题去完善-网络篇
前端·面试
excel6 小时前
🌿 一文看懂 Vue 3 的 watch 源码:从原理到流程
前端