瀏覽代碼

improve handling of selected content (fix #1417)

Gildas 1 年之前
父節點
當前提交
f7a5a7fda6
共有 1 個文件被更改,包括 13 次插入1 次删除
  1. 13 1
      src/ui/content/content-ui.js

+ 13 - 1
src/ui/content/content-ui.js

@@ -222,7 +222,19 @@ function markSelectedContent() {
 				}
 			}
 			if (selectionFound && treeWalker.currentNode == range.endContainer && treeWalker.currentNode.querySelectorAll) {
-				treeWalker.currentNode.querySelectorAll("*").forEach(descendantElement => markSelectedNode(descendantElement));
+				for (
+					let offset = range.startContainer === range.endContainer ? range.startOffset : 0;
+					offset < range.endOffset;
+					offset++
+				) {
+					const node = range.endContainer.childNodes[offset];
+					if (node) {
+						markSelectedNode(node);
+						if (node.querySelectorAll) {
+							node.querySelectorAll("*").forEach(markSelectedNode);
+						}
+					}
+				}
 			}
 		}
 	}