删除 image
标签上的 src
属性似乎不会重绘 iOS(7) 或 Android (KitKat) 上的 View 。将属性更改为空白值也不会。桌面浏览器按预期工作。
这确实删除了属性,但 View 不反射(reflect)更改:
$('#imgPreview').removeAttr('src');
这确实更改了属性,但 View 并未反射(reflect)更改:
$('#imgPreview').attr('src','');
如果属性更改为有效的图像路径, View 会更新:
$('#imgPreview').attr('src','http://some/image/path.jpg');
我有一个简单的测试用例 HERE这说明了问题。
在将 src
属性更改为空值或完全删除 src
属性后,有没有一种方法可以强制重绘?
最佳答案
您可以使用这种代码 fragment 强制重绘元素:
$.fn.redraw = function(){
return this.hide().show(0);
};
或者可能更好:
$.fn.redraw = function(){
return this.each(function(){
var zIndex = $(this).css('z-index');
$(this).css('z-index',-1).css('z-index',zIndex);
});
};
然后将其用作例如:
$('#imgPreview').removeAttr('src').redraw();
关于javascript - 删除图像 src 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23267320/