Skip to content

useTextSelection

Category
Export Size
786 B
Last Changed
last month

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
>

Source

SourceDemoDocs

Contributors

Anthony Fu
Anthony Fu
Kevin Luo
James Garbutt
SerKo
Fernando Fernández
Lehoczky Zoltán
wheat
Jelf
webfansplz

Changelog

v14.0.0 on
dbb3e - feat: Set initial value for use text selection (#5092)
v13.6.0 on
d32f8 - refactor: add @__NO_SIDE_EFFECTS__ annotations to all pure functions (#4907)
v12.4.0 on
dd316 - feat: use passive event handlers everywhere is possible (#4477)
v12.0.0-beta.1 on
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)

Released under the MIT License.

Black Friday
Save up to 80% on your Vue.js upskilling
Claim Now
25
hours
:
33
minutes
:
45
seconds
: