tab组件是利用display属性来切换视图的一个组件。
ie9下模拟placeholder之前文章已经提过,但是切换后,tabview视图中若有input框则其placeholder不展示&&错位,原因是模拟placeholder元素在获取input元素样式的时候,ie9浏览器尚未将input样式渲染,导致获取不到样式,从而产生异常。
解决方案:
// 利用浏览器的事件循环机制,在setTimeout回调中执行placeholder指令中获取样式的代码,从而确保在模拟行placeholder的div元素能获取到样式,正确渲染。
if (isIE9) {
// 等待浏览器渲染input
setTimeout(() => {
// 获取样式
});
}