JavaScript:当用户用鼠标选择文本时,观察文本选择长度的变化



我正在构建一个网站,用户可以在其中选择文本的某些部分,将其翻译成另一种语言。但是有一个限制——如果用户选择的字符串太长,则无法执行翻译。当用户在拖动鼠标选择文本时超过允许的选择长度时,我希望能够更改选择的颜色(通过CSS::selection)。有没有一种方法可以用JavaScript观察所选字符串的长度变化?鼠标悬停事件将不起作用——关键是警告用户,他们的选择在鼠标悬停之前太长了。

onMouseDown-开始监听onMouseMove事件。

onMouseMove-获取选择并更新您的造型。

onMouseUp-删除onMouseMove事件侦听器

一个解决方案可以是在鼠标放下后开始轮询选择。在mousedown的侦听器中,开始以适当的频率周期性地读取所选内容。然后,在mouseup上,停止轮询。

最新更新