You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

select事件疑问:选中页面文本时控制台为何无输出?

问题原因及解决方法
  • 问题根源:select事件仅会在<input>、<textarea>这类可编辑表单元素内部选中文本时触发,直接给document.body绑定该事件,无法捕获页面普通文本的选中操作。
  • 正确实现方式:如果要监听页面中任意文本的选中,应该使用selectionchange事件,它会在用户选中页面任意文本(包括普通文本)时触发。

修改后的代码示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    dhksdh lsjkdlskdj s fjlkfjs d lsdjslkdj s sldjsldkj s
    <script>
        const onSelect = () => {
            console.log('onSelect text')
        }

        document.addEventListener('selectionchange', onSelect)
    </script>
</body>

</html>

补充:如果只需监听特定表单控件的文本选中,可将select事件直接绑定到对应的<input>或<textarea>元素上,此时事件可正常触发。

内容的提问来源于stack exchange,提问作者Eli Tref

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 17:50:36