1
12
我已经想出了一些处理这类IE范围的方法。 如果您只想保存光标所在位置,然后将其还原,则可以使用pastehtml方法在光标的当前位置插入一个空跨度,然后使用moveToelementText方法再次将其放回该位置:
或者,您可以计算当前光标位置之前的字符数并保存该数字:
要恢复光标,请将其设置为开始,然后移动该字符数:
希望这有帮助。 |
2
1
我有点挖苦,不幸的是我看不到解决方法…尽管我在调试JavaScript时注意到一件事,但问题似乎在于范围对象本身,而不是后续对象。
根据信息
here
,
here
和
here
,我认为你在IE上不太走运,因为你只能访问微软的textrange对象,这个对象似乎被破坏了。从我的实验中,你可以移动范围并精确定位到它应该在的位置,但是一旦你这样做了,范围对象会自动向下移动到下一行,甚至在你试图移动之前。
因此,不幸的是,当您再次选择范围时,它看起来没有任何方法可以确保范围在正确的位置。 显然,通过将步骤2改为以下步骤,上面的代码有一个小的修正:
但是,假设您实际上想要在实际的步骤1和步骤2之间做一些事情,这涉及到移动选择,因此需要重新设置它。但以防万一。:) 所以,我能做的最好的就是去投票给你创建的bug…希望他们能解决。 |
3
0
我最近在一个使用微软CMS的网站上工作,该网站使用了“msib+pack”控件,其中包括在Internet Explorer中运行的wysiwyg编辑器。 我似乎还记得编辑器客户端javascript中的一些注释,它们与IE和range.select()方法中的这个bug特别相关。 不幸的是,我不再在那里工作,所以我不能访问javascript文件,但也许你可以从其他地方获得它们? 祝你好运 |
4
0
也许我误解了,但是如果我点击第一行的右边,我的光标已经立即出现在第二行的开头,所以这不是文本范围问题,对吗? 添加doctype使测试页以标准模式呈现,而不是以怪癖模式呈现,这为我解决了这个问题。 我无法重现您的myhandler函数的功能,因为单击该按钮会将焦点移到按钮上,这样我就看不到光标,也无法将其返回。在中查找光标位置 可满足的 地区 seems to be a different problem altogether . |
Softly · 单选按钮未按预期取值 1 年前 |
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
assembler · Nextjs没有处理发布请求 1 年前 |
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
Toniq · javascript为php保存多维数组 1 年前 |