html要素内のテキスト選択を取得し、その周りにスパンタグを挿入しようとしています。これまでのところ、正しいインデックスに問題があります。ブロック内のテキストを強調表示すると、タグ<p>
の後にインデックスが0になります。<br>
テキストをslice()して、テキストを強調表示した後、選択したテキストを取得してAjax経由でサーバーに送信した後、スパンタグと再結合できるようにしたいと思います。
HTMLとコードのサンプルを次に示します。
<html><body><p>This is some sample text.<br>Select this text.</p></body></html>
jQuery:
$('*').mouseup(function() {
mouseDown = false;
var startIndex = window.getSelection().getRangeAt(0).startOffset;
var endIndex = window.getSelection().getRangeAt(0).endOffset;
alert($(body *).text().slice(startIndex, endIndex));
});