1

我正在使用网络浏览器控件。如何将 execCommand 的插入位置移动到当前选择的单词末尾?

例子:

| <- 当前插入位置

Som|eword -> 移动 -> Someword| -> execCommand 在当前单词之后执行

我想要做的是在不中断单词的情况下插入一行。现在发生的事情是:

Somew|ord -> 行

一些


秩序

应该发生的是:

Somew|ord -> 行


某字

4

1 回答 1

0

这太hacky了,我几乎不好意思发布它,但是......你可以通过执行类似的操作来完成“插入一行而不破坏单词”“使用网络浏览器控件”

webBrowser1.Url = 
            new Uri("javascript:" +
                "var tr=document.selection.createRange();" +
                "tr.expand('word');" +
                "tr.collapse(false);" +
                // "tr.select();" // Necessary to actually move the caret
                "tr.pasteHTML('<hr>');");

在网络浏览器加载了您想要操作的文档之后,并且用户已经选择了他们想要在其后插入一行的文本。如果您真的需要移动插入符号,则需要tr.select()tr.collapse().

但它不使用 execCommand,因此它可能不适合您的目的。也许其他人可以想出一种方法来让它更干净一些......

于 2009-02-04T17:57:31.073 回答