我目前正在实施非常酷的范围和选择库Rangy.js。我想实现一个可以突出显示某些文本的函数,然后添加注释并将其保存到突出显示中。在演示中,它显示了如何向选择添加注释 - 但只有一个ID附加到选择。
我正在尝试这样的事情,我在元素上创建了一个注释属性:
highlighter.addClassApplier(rangy.createCssClassApplier("highlight", {
ignoreWhiteSpace: true,
elementTagName: "span",
elementProperties: {
comment: "",
onclick: function() {
var highlight = highlighter.getHighlightForElement(this);
$('#myModal p').text( highlight.classApplier.elementProperties.comment );
$('#myModal').modal('show');
}
}
}));
然后在突出显示文本时,评论存储在“评论”属性中:
function highlightSelectedText( event ) {
event.preventDefault();
var highlight = highlighter.highlightSelection("highlight");
$('#myModal').modal('show');
$('#save-comment').on('click', function () {
var comment = $('#comment-text');
highlight[0].classApplier.elementProperties.comment = comment.val();
});
}
当我序列化我的精彩集锦时,评论不包括在内。
有没有人尝试过这种或与Rangy.js类似的东西?
任何帮助表示感谢,提前谢谢!