textarea光标问题

现在找到的办法都是获取光标的绝对位置或相对位置,有没有办法获取光标前的所有文字或内容?

阅读 2.6k
1 个回答

支持FF,Chrome

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>获得光标位置之前的文本</title>
</head>
<body>
    <textarea id="source" rows="10" cols="50">青玉案·元夕
东风夜放花千树。
更吹落、星如雨。
宝马雕车香满路。
凤箫声动,玉壶光转,一夜鱼龙舞。
蛾儿雪柳黄金缕。
笑语盈盈暗香去。
众里寻他千百度。
蓦然回首,那人却在,灯火阑珊处。
</textarea>
    <textarea id="select" rows="10" cols="50" disabled></textarea>
    <script type="text/javascript">
        setInterval(function() {
            var source = document.getElementById('source');
            var select = document.getElementById('select');
            var start = source.selectionStart | 0;
            var end = source.selectionEnd | 0;
            if (start == end) {
                start = 0;
            }
            select.value = source.value.substring(start, end);
        }, 200);
    </script>
</body>
</html>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题