我在包含 DIV 标签的 DIV 上使用 jQuery UI Sortable。每个可排序的 DIV 内部都有一个 iFrame,其 src= 指向不同的站点。
在 IE7 中,排序按预期工作。如果您在 iFrame 中导航,则 iFrame 将保留当前状态。
但是,在 FF3 中,当排序停止并使用指定的原始 url 重新加载 iFrame 时。这不是我想要的。
我尝试过同时使用 DIV/DIV 和 UL/LI,它们的行为相同。
我在包含 DIV 标签的 DIV 上使用 jQuery UI Sortable。每个可排序的 DIV 内部都有一个 iFrame,其 src= 指向不同的站点。
在 IE7 中,排序按预期工作。如果您在 iFrame 中导航,则 iFrame 将保留当前状态。
但是,在 FF3 中,当排序停止并使用指定的原始 url 重新加载 iFrame 时。这不是我想要的。
我尝试过同时使用 DIV/DIV 和 UL/LI,它们的行为相同。
这是 FF 中的一个错误(显然是 Safari 3.5/Win 和 Opera 9.5/Win):如果在 DOM 树中移动,iframe 会重新加载。(当你删除它时,jQuery sortable 会移动 DOM 树中的节点)。
请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=254144。
我之前解决这个问题的方法是指定一些附加到 iframe 父级的区域作为 jQuery 可排序操作的“句柄”。例如:
+-----------------------+
| Drag Me | iframe here |
+---------+ |
| |
+-------------+
您拖动“句柄”,而不是实际的 iframe 容器。在 Drop 时,您重新排列句柄,将 iframe 留在 DOM 中的位置。这在我的情况下效果很好,但 YMMV。