笙默考试管理系统-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;

相关推荐
FQNmxDG4S4 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
ZC跨境爬虫5 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
前端老石人5 小时前
HTML 字符引用完全指南
开发语言·前端·html
matlab_xiaowang5 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
幼儿园技术家5 小时前
前端如何设计权限系统(RBAC / ABAC)?
前端
虹科网络安全5 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje6 小时前
Java语法进阶
java·开发语言·jvm
老前端的功夫6 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287926 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
止语Lab6 小时前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang