繁体   English   中英

window.getSelection()的值在回调期间更改

[英]Value of window.getSelection() changes during callback

我正在尝试存储window.getSelection()的值,但是如果用户选择其他选择,则此值似乎会更改。

在下面的代码中,我存储了初始用户的选择。 然后,我创建自己的表单(这会花费一些时间),当表单创建完成后,我会用用户的选择来填写表单。 现在,在创建表单的过程中,用户可以选择其他文本,现在存储在我的选择变量中的对象已更改。 如何防止选择的值被更改?

var selection = window.getSelection();

createForm(function() {
    fillInForm(selection);
});

编辑-我需要保留所选内容的DOM结构,因为表单引用了所选文本的位置。

getSelection函数返回一个Selection对象。 每个文档只能有一个选择对象,因此如果用户进行新选择,则必须更改与选择相关联的范围。

用户代理应允许用户更改活动文档的选择。 如果用户对选择进行了任何修改,则用户代理必须创建一个具有适当开始和结束位置的新范围,并将选择与该新范围相关联(而不修改现有范围)。

[...]

如果用户更改选择或脚本调用addRange(),则选择必须与新的范围对象相关联,如本规范其他地方所要求的。

http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#selections

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM