VUE3.0怎么获取selection选中的是哪个
时间: 2024-02-16 20:03:33 浏览: 206
vue3.0 上手体验
在 Vue 3.0 中,可以通过 `window.getSelection()` 方法获取当前页面中用户选中的文本。该方法返回一个 Selection 对象,可以通过它的 `anchorNode` 和 `focusNode` 属性获取选中文本的起始节点和结束节点,从而确定选中的是哪个元素。
示例代码如下:
```javascript
const selection = window.getSelection();
if (selection && selection.rangeCount > 0) {
const range = selection.getRangeAt(0);
const startNode = range.startContainer;
const endNode = range.endContainer;
// 判断选中的是哪个元素
if (startNode.parentNode === document.getElementById('element1') && endNode.parentNode === document.getElementById('element1')) {
console.log('选中了元素1');
} else if (startNode.parentNode === document.getElementById('element2') && endNode.parentNode === document.getElementById('element2')) {
console.log('选中了元素2');
} else {
console.log('选中了其他元素');
}
}
```
其中,`getElementById` 方法用于获取指定 `id` 的元素,`startContainer` 和 `endContainer` 分别表示选中文本的起始节点和结束节点。根据起始节点和结束节点的父元素是否为指定的元素,来判断用户选中的是哪个元素。
阅读全文