gpt4 book ai didi

javascript - getSelection 不会在自定义文本输入中为我找到选定的文本

转载 作者:行者123 更新时间:2023-11-30 13:04:22 27 4
gpt4 key购买 nike

我正在使用新的 Firepad realtime text collaboration service .

我想对用户选择的框中的文本使用 JavaScript getSelection 方法。

但是,无论出于何种原因,我的代码都无法正常工作。

我的 JavaScript:

function myFunction()
{
alert(window.getSelection());
}

HTML:

<button onclick="myFunction();">Get Selected Text in Firepad</button>

My test site

最佳答案

查看插件后,FirePad 似乎正在使用 textarea

根据 another SO post的回答似乎 textareas 不使用与其他节点相同的选择范围。

accepted answer解释如下:

There is extra bizarreness going on with textarea nodes. If I remember correctly they behave as any other nodes when you select them in IE, but in other browsers they have an independent selection range which is exposed via the .selectionEnd and .selectionStart properties on the node.

highest voted answer显示解决方案。

该解决方案直接使用对 textarea 节点的引用,并使用元素的 selectionEndselectionStart 属性从那里获取选定范围,类似对此:

function myFunction() {
var e = document.getElementById('thearea');

//Mozilla and DOM 3.0
if ('selectionStart' in e) {
var l = e.selectionEnd - e.selectionStart;

var start = e.selectionStart,
end = e.selectionEnd,
length = l,
text = e.value.substr(e.selectionStart, l);

alert(text);
}
}

DEMO - 对 textarea

使用 selectionStartselectionEnd

我不确定这些天在所有浏览器中是否都相同,但上面的代码和链接 SO 中的附加信息应该有望帮助您获得所需的结果。

关于javascript - getSelection 不会在自定义文本输入中为我找到选定的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16239776/

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