0%

JS 监听选中文本事件

问题

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

实现

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

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

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

后记

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

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

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

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