Skip to content

JS 监听选中文本事件

Published: at 10:10 PMSuggest Changes

问题

在网页上选中文本,然后触发事件

实现

document.addEventListener('selectionchange', function () {
  console.log('selectionchange');
});

selectionchange 事件适用于:Android (Chrome) 和 iOS (Safari)。

contextmenu 事件适用于:Android(Chrome、Mozilla 和 Opera)。

后记

还有一种是监听 mouseup 事件,但是这种方式不太好,因为 mouseup 事件会在鼠标松开时触发,而不是选中文本时触发。

document.addEventListener('mouseup', function () {
  console.log('mouseup');
});

移动端的话可以试试 touchstarttouchend 事件。

document.addEventListener("DOMContentLoaded", function(event) { 
    window.addEventListener("touchstart", touchstart, false);
    window.addEventListener("touchend", touchend, false);
});

Previous Post
JS 获取选中文本的所有 DOM 块元素
Next Post
JS 多元素文本选择