Skip to content

Commit f3ed2d6

Browse files
committed
fix: selection contenteditable node detection
1 parent 45d0ff2 commit f3ed2d6

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

packages/selection/dev/index.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ const App: Component = () => {
3434
<div contentEditable>
3535
t<b>e</b>
3636
<i>s</i>t
37+
<ul>
38+
<li>first item</li>
39+
<li>second item</li>
40+
<li>third item</li>
41+
</ul>
3742
</div>
3843
</div>
3944
<div>

packages/selection/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export const getTextNodes = (startNode: Node) => {
1717
const addNodeLength = (length: number, node: Node) => length + (node as Text).data.length;
1818

1919
const getRangePos = (container: Node, offset: number, texts: Node[]) => {
20-
const index = texts.indexOf(container);
20+
const index = texts.findIndex((text) => text === container || text.parentElement === container);
2121
return index === -1 ? NaN : texts.slice(0, index).reduce(addNodeLength, 0) + offset;
2222
};
2323

0 commit comments

Comments
 (0)