我正在使用网络浏览器控件。如何将 execCommand 的插入位置移动到当前选择的单词末尾?
例子:
| <- 当前插入位置
Som|eword -> 移动 -> Someword| -> execCommand 在当前单词之后执行
我想要做的是在不中断单词的情况下插入一行。现在发生的事情是:
Somew|ord -> 行
一些
秩序
应该发生的是:
Somew|ord -> 行
某字
我正在使用网络浏览器控件。如何将 execCommand 的插入位置移动到当前选择的单词末尾?
例子:
| <- 当前插入位置
Som|eword -> 移动 -> Someword| -> execCommand 在当前单词之后执行
我想要做的是在不中断单词的情况下插入一行。现在发生的事情是:
Somew|ord -> 行
一些
秩序
应该发生的是:
Somew|ord -> 行
某字
这太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,因此它可能不适合您的目的。也许其他人可以想出一种方法来让它更干净一些......