Languages: 简体中文 | English
mark-highlight
是一个简单轻量的内容选中划线高亮小工具。
- 保留元素的内部结构
- 对于选中区域的标记操作,有很简单的数据符号,方便下次访问时再次渲染绘制选中区域,前提是内容不变的情况下。
- 适用于笔记、博客、电子书、批注等场景。
- 支持下划线 高亮类型的标记
- 支持标记区域点击事件
- 支持标记区域设置自定义类名
- 支持视图更新标记区域同步更新
如果感觉还不错的话,来个star~
<script src="../dist/index.umd.js"></script>
or
npm install mark-highlight
let mark = new Mark("idName"|HtmlElement);
mark.render();
回调
mark.on('render', (el) => {
console.log('render dom',el);
})
mark.on('selected', (data) => {
let markStr = data.markStr;
let {
top_left,
top_center,
top_right,
// ...
} = data.position;
})
设置高亮
mark.highlight(markStr, 'className', (e) => {
// 高亮区域点击后回调
// 获取点击元素的_rangeStr
let _markStr = e.target.getAttribute('data-id')
})
设置下划线
mark.underline(markStr, 'className', (e) => {
let _markStr = e.target.getAttribute('data-id')
})
删除标记
mark.remove(markStr, 'underline|highlight');
添加标记
mark.add({
markStr:"",
type: 'underline|highlight',
className: "",
data: {},
clirk:()=>{},
});
显示所有
mark.show();
隐藏所有
mark.hide();
清空标记
mark.clear();
获取所有标记
mark.getMarks();