useTextSelection
Reactively track user text selection based on Window.getSelection.
Demo
You can select any text on the page.
Selected Text:No selected
Selected rects:
[]Usage
vue
<script setup lang="ts">
import { useTextSelection } from '@vueuse/core'
const state = useTextSelection()
</script>
<template>
<p>{{ state.text }}</p>
</template>Type Declarations
ts
/**
* Reactively track user text selection based on [`Window.getSelection`](https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection).
*
* @see https://vueuse.org/useTextSelection
*
* @__NO_SIDE_EFFECTS__
*/
export declare function useTextSelection(options?: ConfigurableWindow): {
text: ComputedRef<string>
rects: ComputedRef<DOMRect[]>
ranges: ComputedRef<Range[]>
selection: ShallowRef<Selection | null, Selection | null>
}
export type UseTextSelectionReturn = ReturnType<typeof useTextSelection>