gpt4 book ai didi

javascript - contenteditable 元素中的 SelectionStart 和 SelectionEnd

转载 作者:行者123 更新时间:2023-12-03 21:37:56 29 4
gpt4 key购买 nike

我一直在努力使用 textarea 的 selectionStartselectionEnd 属性,以使它们与 contenteditable div 元素一起使用。我在谷歌和SO上检查了很多相关文章,但没有结果。我有类似于以下内容的内容,它完美地适用于文本区域。但我希望这个能与 contenteditable div 一起使用。

function replaceVal(node, val, step){
//...
var cursorLoc = node.selectionStart;
node.value = node.value.substring(0, node.selectionStart - step) + value +
node.value.substring(node.selectionEnd, node.value.length);
node.scrollTop = scrollTop;
node.selectionStart = cursorLoc + value.length - step;
node.selectionEnd = cursorLoc + value.length - step;
//...
}

如何修改它,以便它可以与 contenteditable div 元素而不是文本区域一起使用?

最佳答案

试试这个,它会返回选定的文本,无论它是否可编辑。

function GetSelectedText() {

if (document.getSelection) { // all browsers, except IE before version 9
var sel = document.getSelection();
// sel is a string in Firefox and Opera,
// and a selectionRange object in Google Chrome, Safari and IE from version 9
// the alert method displays the result of the toString method of the passed object
alert(sel);
}
else {
if (document.selection) { // Internet Explorer before version 9
var textRange = document.selection.createRange();
alert(textRange.text);
}
}
}
<div>Test Example Microsoft T-shirt box</div>
<button onClick="GetSelectedText()">Get text</button>

我在 jsfiddler 中做了这个例子,看看 enter link description here

关于javascript - contenteditable 元素中的 SelectionStart 和 SelectionEnd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19288700/

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