0

私はこのjsFiddleで見せようとしたこの問題を抱えています。私はcontenteditableを持っています。これは単純なhtmlです-テキストと1つの<B>要素だけです。私の質問は、カレットが<B>要素の内側にあり、ユーザーが「X」キーを押したときの状況についてです。次に、<B>要素は正常にアンラップされますが、caretは位置を変更し、アンラップされた<B>要素の先頭に移動します。

カレットの位置を変えずにサモエの位置にとどめてほしい。出来ますか ?できれば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 に答える