前提・実現したいこと
window.getSelection()が返すSelection(もしくは、
window.getSelection().getRangeAt(0)が返すRange)について、
選択位置を返すプロパティがもし存在するならば、ご教授頂きたいです。
選択位置と表現しているのは、pxで表現されるような位置ではなく、
テキストの何文字目かを示す位置(下に示す例のいずれか)です。
(例)id=〇〇のdivタグ内テキストの45文字目
(例)id=〇〇のdivタグ内テキストの5行目,6文字目
最終目標は
例えばcontenteditableに
C|G|Am|Em<br>
|F|C|F|G|
のようなコード進行が表示されていて、
2行目最初のFをクリックした場合
グローバル変数:現在再生位置を5(番目のコード)に設定した上で
Fのコードを再生することです。
発生している問題・エラーメッセージ
該当のソースコード
<script> window.onload = function () { var test = document.getElementById("test") var range = document.createRange(); range.setStart(test.childNodes[8], 10); range.setEnd(test.childNodes[8], 15); window.getSelection().addRange(range); var watch = window.getSelection().getRangeAt(0); var breakpoint = 'here'; } </script> <div contenteditable=true id='test'> 1234567890<br> 1234567890<br> 1234567890<br> 1234567890<br> 1234567890<br> 1234567890<br> 1234567890<br> 1234567890 </div>試したこと
watchでwindow.getSelection().getRangeAt(0)のプロパティを眺めたものの、
選択位置を示すそれらしいプロパティが見つかりませんでした。
補足情報(FW/ツールのバージョンなど)
Google Chrome
バージョン: 74.0.3729.131(Official Build) (64 ビット)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/03 02:26 編集