【发布时间】:2022-01-17 23:05:04
【问题描述】:
我正在开发 HTML 和 JS 中的降价编辑器,以前使用过 textarea,但由于它的限制,我最近开始将它移动到 contenteditable div,尝试了很多但我无法让它工作,我只需要一个在选择周围插入markdown **的基本功能,但内容可编辑的div似乎有问题,有人知道如何解决吗?
function editorInsertFormatting(txtarea, text) {
var selectStart = txtarea.selectionStart;
var selectEnd = txtarea.selectionEnd;
var scrollPos = txtarea.scrollTop;
var caretPos = txtarea.selectionStart;
var front = txtarea.value.substring(0, caretPos);
var back = txtarea.value.substring(
txtarea.selectionEnd,
txtarea.value.length
);
var middle = txtarea.value.substring(caretPos, txtarea.selectionEnd);
txtarea.value = front + text + middle + text + back;
if (selectStart !== selectEnd) {
txtarea.selectionStart = selectStart + text.length;
txtarea.selectionEnd = selectEnd + text.length;
} else {
txtarea.selectionStart = selectStart + text.length;
txtarea.selectionEnd = txtarea.selectionStart;
}
txtarea.focus();
txtarea.scrollTop = scrollPos;
editorLiveParser();
}
【问题讨论】:
-
你可以试试第三方库,比如 CodeMirror codemirror.net/6/docs
-
你想markdown代表什么?没有markdown -> html标准
-
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
标签: javascript html markdown