Javascript 将元素移动到iframe';使用数据和事件创建父对象

Javascript 将元素移动到iframe';使用数据和事件创建父对象,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,情况就是这样。 我在iframe中有一个复杂的UI,用户可以在提交之前执行几个操作。在此过程中,用户可以切换到另一个页面(在iframe中)并返回。这意味着在iframe中有2次回发 显然,我不希望用户失去一切,但由于所有操作都在客户端完成,因此我无法从服务器重新加载以前的状态 现在,我尝试将第一页内容移动到iframe父级,并在返回时将其放回原位。由于元素显示在页面中,但它们丢失了数据属性和事件处理程序,所以我已经完成了一半 我正在使用此选项移动父对象上的内容: $("#resp").clon

情况就是这样。 我在iframe中有一个复杂的UI,用户可以在提交之前执行几个操作。在此过程中,用户可以切换到另一个页面(在iframe中)并返回。这意味着在iframe中有2次回发

显然,我不希望用户失去一切,但由于所有操作都在客户端完成,因此我无法从服务器重新加载以前的状态

现在,我尝试将第一页内容移动到iframe父级,并在返回时将其放回原位。由于元素显示在页面中,但它们丢失了数据属性和事件处理程序,所以我已经完成了一半

我正在使用此选项移动父对象上的内容:

$("#resp").clone(true).attr("id", "refillResp").appendTo(window.top.$("#global"));
这是为了把它放回去:

window.top.$("#global").find("#refillResp").clone(true).attr("id", "resp").appendTo($("#tdResp"));
有人知道怎么做吗?
PS:我已经测试了当简单地移动到父对象上,数据和事件已经消失时,内容的反应。

这更像是一个注释,但它不适合在那里

在不同的文档中移动DOM元素总是有点冒险。因为它可能会导致意外行为(内存泄漏、行为异常的元素)。在当前的浏览器中,它大部分时间都能工作,但我不推荐它

如果使用jQuery,则会出现另一个问题。jQuery有一个缓存,用于存储有关分配给对象的
数据
事件
的信息,该缓存与文档窗口一起存储。欲了解更多详细信息,请阅读以下对另一个问题的回答:

因此,如果使用jQuery在不同文档之间移动元素,一方面会丢失这些信息,另一方面可能会导致内存泄漏

随着事态的发展,情况变得更加复杂。e、 g.如果你委派了活动,它可能会变得非常混乱

如果您需要在iframe和父级之间交换数据,您应该考虑其他一些逻辑

我在对我的另一个回答的评论中也提到了这一点,我提到了这篇文章:

谢谢你的回答,我会马上回答这个问题。我已经改变了屏幕机制,以避免上述情况。我对数据和事件背后的“秘密”一无所知,经过一点了解后得出结论,这是一个非常糟糕的主意。@Synryu这就是这样做的好处,我从阅读中学到了很多新的东西,或者如何做得更好。我不会说使用iframe是个坏主意。如果您知道其中的陷阱,那么在某些用例中,它们完全符合需求,特别是与
jQuery
等库结合使用时。