Chrome 72 で contenteditable �のスペース textnode が消えるバグが直った?
Chrome 72 で contenteditable �のスペース textnode が消えるバグが直った?:
バグメモ
contenteditable を使って編集可能にした DOM のキャレット座標を取得するために、キャレットに空の
消える様子
もともとの挙動がおかしかったので直ったのは素直に嬉しい。
バグメモ
contenteditable を使って編集可能にした DOM のキャレット座標を取得するために、キャレットに空の
<span>
を挿入し、その DOM の座標から割り出すという方法を実装していたところ、Chrome 71 ではスペースが消えてしまうという症状に出くわしました。そして解決方法としてスペースを
に置き換えることで消えないというハックを使いました。が、最近リリースされた Chrome 72 だとその症状が出なくなりました。バグイシューを調べたけど、該当の修正は見当たらず…。
再現コード
<!DOCTYPE html> <html> <body> <div id="editor" contenteditable="true">abc def</div> <script> const editor = document.getElementById('editor') editor.addEventListener('keyup', () => { const anchor = document.createElement('span') const sel = window.getSelection() const range = sel.getRangeAt(0) range.insertNode(anchor) const caret_position = anchor.getBoundingClientRect() console.log('caret_position: ', caret_position) anchor.parentElement.removeChild(anchor) }) </script> </body> </html>
もともとの挙動がおかしかったので直ったのは素直に嬉しい。
コメント
コメントを投稿