【问题标题】:Removed DOM elements are still displayed in mobile safari (iOS 5.1)移除的 DOM 元素仍显示在移动 Safari 中(iOS 5.1)
【发布时间】:2012-07-27 15:02:10
【问题描述】:

有没有人遇到过 iOS Safari 的问题,当移除的元素($("some-selector").html("")$("some-selector").innerHTML)仍然显示在移动 Safari 中? iWebinspector 只显示 DOM 树中的新元素,将容器输出到控制台也表明应该只显示新内容。

不知道它有多有用——但似乎旧元素是可滚动的,但不可点击。非常奇怪的故障。

在 iPad 2(不是我的,我认为是 5.1)、iPhone 4 iOS 5.1、iOS 5.1 iPad 模拟器上测试。

谢谢!

更新

移除容器本身解决了这个问题。所以我建议你如果遇到同样的问题,只需删除容器并重新添加它。

【问题讨论】:

  • 当包含 iframe 的 div 被隐藏但未删除导致滚动/单击停止工作时,我在 iPad 上看到了这一点(iframe“足迹”阻止事件到达它下面的元素。删除 iframe完全解决了这个问题,滚动/点击再次起作用。这是特定于 iPad 的,因为运行 WebKit 的 PlayBook/Android 平板电脑没有任何问题。
  • 感谢您的评论,斯昆利夫。实际上我正在使用 iframe ,但它是我在删除旧内容后添加的元素。被删除的是 div/tables,所以看起来有点不同。
  • 您是否有机会在某处(此处或 pastebin 上)发布完整的示例?
  • sculiffe,要粘贴的代码行太多,无法理解完整的示例。实际上移除容器本身解决了这个问题。所以:1)$("#content > table, #content > div").remove()(也 - .first().innerHTML.html(''))不起作用; 2)$("content").remove() 工作正常。删除后重新添加。

标签: javascript ios ios5 ios-simulator mobile-safari


【解决方案1】:

我发现的有效解决方法是删除容器并再次添加(有关详细信息,请参阅我的上一条评论 so scunliffe)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    相关资源
    最近更新 更多