0

我有这个问题,我试图在这个 jsFiddle中展示。我有 contenteditable ,其中是简单的 html - 只有文本和一个<B>元素。我的问题是关于插入符号位于<B>元素内部某处并且用户点击“X”键的情况。然后<B>元素成功展开,但插入符号改变位置并移动到展开<B>元素的开头。

我希望插入符号不改变其位置并保持在 samoe 位置。可能吗 ?最好使用Rangy 库来解决?

出于这个问题的目的,代码被简化:

<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();
    }
  });
});​
4

1 回答 1

1

我建议将插入符号位置存储为contenteditable元素内文本中的字符索引。我在回答您最近的一个问题时链接到的相同代码可以:

https://stackoverflow.com/a/10682429/96100

于 2012-05-24T08:35:13.183 回答