如何使用“开始”在 Iframe 中选择范围和“结束”在 Firefox 中,如“selectionStart”来自输入元素
对于 Internet Explorer,我有当前的代码来选择 iframe 中的范围,并将 desingMode 设置为 on:
var Range = window.document.selection.createRange(); var obj = { start: 3, end : 6} Range.collapse( true ); Range.moveStart( 'character', obj.start ); Range.moveEnd( 'character', obj.end - obj.start ); Range.select();
如果我只想通过 2 个参数选择字符串的一个部分,那么这非常有用。开始和结束(对于输入元素,存在属性 SelectionStart 和 SelectionEnd )。
例如,当在字符串“Hello World”上执行此代码时,它仅突出显示字符串 llo Wo 或类似的内容。
问题是 Firefox Dom 不支持 moveStart 或 moveEnd 方法,但仅支持 range.setStart 和 range.setEnd 仅请求一个节点和一个偏移量作为参数。
那么可以在 Firefox 中虚拟化 moveStart 和 moveEnd 方法吗? 谢谢。
for Internet Explorer, I have the current code to select a range in an iframe with desingMode setting to on:
var Range = window.document.selection.createRange(); var obj = { start: 3, end : 6} Range.collapse( true ); Range.moveStart( 'character', obj.start ); Range.moveEnd( 'character', obj.end - obj.start ); Range.select();
Most useful if I want select only one piece of a string by only 2 parameters. Start and End ( for input elements exists the properties selectionStart and selectionEnd ).
When this code is executed, for example, on a string "Hello World", it highlight only the piece of string llo Wo, or something like that.
The problem is that Firefox Dom do not support the method moveStart or moveEnd, but only range.setStart and range.setEnd which request only a node and an offset as arguments.
So is possible to virtualizing the moveStart and the moveEnd methods in Firefox?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这对我有用:
你需要在 Firefox 中调用removeAllRanges(),否则你可能会得到多个选择。
This works for me:
You need to call removeAllRanges() in Firefox or else you can end up with multiple selections.