gpt4 book ai didi

javascript - 检测所选文本是否跨越整行或多行

转载 作者:行者123 更新时间:2023-11-30 06:00:29 24 4
gpt4 key购买 nike

我正在尝试自动检测文本区域的选择是否包含新行,或者是否已选择整行。

例如

  • [abc def] xyz => 应该是 false,因为只选择了 [abc def]
  • [abc def xyz] => 应该是真的,因为整行都被选中了
  • 选择跨越多行(真):

     abc [def xyz
    abc def xyz
    abc def] xyz

这将检测最后一种情况:

var range = getTextAreaSelection(textarea),
selection = textarea.value.substring(range[0], range[1]);

if(selection.indexOf('\n') !== -1)
// do stuff...

但是我该如何处理另外两个呢?

最佳答案

你可以检查之前/之后的字符是什么:

textarea.value.charAt(range[0] - 1); // if it's `\r` or `\n` it's the first char of a line
textarea.value.charAt(range[1] + 1); // same fot last char of a line

如果其中一个或两个都返回空字符串,则它是文本区域值的开始/结束,因此也算作整行。

关于javascript - 检测所选文本是否跨越整行或多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8931568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com