这是一个奇怪的问题。
假设我在容器中-webkit-overflow-scrolling:touch
应用了一些文本,并且span
在内容中但在视口之外有一个具有背景颜色的元素。
如果您随后按下按钮删除span
元素并用里面的文本替换内容,然后滚动容器以使span
曾经存在于视口中的元素,则保留背景颜色。span
元素本身消失了,但 DOM 并没有在视觉上更新。
jsFiddle(在 iOS 上查看)- http://jsfiddle.net/charlescarver/rdZq4/4/
现在,我发现有两种我不喜欢的解决方案,但可以直观地更新容器:
- 去除
-webkit-overflow-scrolling:touch
- 添加以下代码以更改 CSS 的一个方面,然后返回:
此方法使用.scroll()
:
$(".text").scroll(function () {
$(".text").css("color", "blue");
setTimeout(function () {
$(".text").css("color", "#000");
}, 1)
});
问题在于,残留的背景颜色一直存在,直到滚动停止,仍然留下工件。