gpt4 book ai didi

javascript - 使用 rangey 删除选择

转载 作者:行者123 更新时间:2023-11-28 16:16:59 24 4
gpt4 key购买 nike

我制作了一个带有一些清理逻辑的小型内联编辑器。因此,如果您从 Word 文件粘贴,它会删除所有格式。

我的问题是,如果您选择例如一句话粘贴,不会被替换。这是由于清理逻辑。现在我需要知道如何删除范围,以便我可以在粘贴之前删除该范围。

http://jsfiddle.net/eJNKy/3/

最佳答案

您可以使用 deleteContents() 删除范围方法。

Rangy 还可以处理您尝试在 jsFiddle 中修复的许多跨浏览器问题。它提供了一个 createContextualFragment() 实现和一个带有 getRangeAt() 的选择对象。另外,您应该使用 keydown 事件的 ctrlKey 属性。这是更新后的 jsFiddle:

http://jsfiddle.net/timdown/eJNKy/6/

关键的功能是

function paste(html) {
var sel = rangy.getSelection();
if (html && sel.rangeCount > 0) {
var range = sel.getRangeAt(0);
range.deleteContents();
var frag = range.createContextualFragment(html);
var lastChild = frag.lastChild;
range.insertNode(frag);
range.collapseAfter(lastChild);
sel.setSingleRange(range);
}
}

关于javascript - 使用 rangey 删除选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206170/

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