我有这个问题,我试图在this jsFiddle中展示。我满足于简单的html - 只是文本和一个<B>
元素。我的问题是关于插入符号位于<B>
元素内部并且用户点击“X”键的情况。然后成功展开<B>
元素,但插入符号更改位置并移动到展开的<B>
元素的开头。
我希望插入符号不会改变其位置并保持在samoe位置。可能吗 ?使用Rangy library?
优先解决方案为了这个问题,代码被简化了:
<div id="contenteditable" contenteditable="true">
text text text text <b>bold bold bold</b> text text text
</div>
$(document).ready(function(){
$('#contenteditable').bind('keyup', function(e){
if (e.which == 88) {
$('#contenteditable').find('b').contents().unwrap();
}
});
});
答案 0 :(得分:1)
我建议将插入位置存储为contenteditable
元素内文本中的字符索引。我在回答你最近的一个问题时所链接的代码就是这样: