次の HTML がある場合:
<div class="content">
Vivamus <span>luctus</span> urna sed urna ultricies ac tempor dui sagittis.
</div>
mouseup
そして、選択したテキストの範囲を表示するイベントを実行します。
$(".content").on("mouseup", function () {
var start = window.getSelection().baseOffset;
var end = window.getSelection().focusOffset;
if (start < end) {
var start = window.getSelection().baseOffset;
var end = window.getSelection().focusOffset;
} else {
var start = window.getSelection().focusOffset;
var end = window.getSelection().baseOffset;
}
console.log(window.getSelection());
console.log(start + ", " + end);
});
Vivamus
そして、コンテンツから単語を選択すると、それが1, 8
選択範囲であるため、ログに記録されます。
ただし、単語を選択するとurna
、ログに記録されますが、HTML15, 20
の要素は考慮されません。<span>
テキストだけでなく、HTMLタグもカウントする必要がありますかfocusOffset
?baseOffset