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

相关推荐
写不出来就跑路几秒前
基于 Vue 3 的智能聊天界面实现:从 UI 到流式响应全解析
前端·vue.js·ui
OpenTiny社区3 分钟前
盘点字体性能优化方案
前端·javascript
FogLetter7 分钟前
深入浅出React Hooks:useEffect那些事儿
前端·javascript
Savior`L8 分钟前
CSS知识复习4
前端·css
Tipriest_8 分钟前
Python异常类型介绍
开发语言·python·异常
Swift社区22 分钟前
Swift 解 LeetCode 321:拼接两个数组中的最大数,贪心 + 合并全解析
开发语言·leetcode·swift
0wioiw023 分钟前
Flutter基础(前端教程④-组件拼接)
前端·flutter
花生侠1 小时前
记录:前端项目使用pnpm+husky(v9)+commitlint,提交代码格式化校验
前端
ruan1145141 小时前
Java Lambda 类型推断详解:filter() 方法与 Predicate<? super T>
java·开发语言·spring·stream