首先,进行页面的高度变化监听事件
mounted() {
//window.onresize监听页面高度的变化
window.onresize = () => {
return (() => {
this.showHeight = document.body.clientHeight;
})();
};
document.querySelector(".content").style.height = `${this.otherheight}px`;
$(document).on("focusout", function () {
setTimeout(() => {
// 软键盘收起的事件处理
window.scroll(0, 0);
}, 300);
});
},
在watch 中,监听键盘弹出事件
showHeight: function () {
if (this.docmHeight > this.showHeight) {
this.coustshow = false;
this.blhe = true;
} else {
this.coustshow = true;
this.blhe = false;
}
this.goaway();
},
在data中可以提前获取页面高度
docmHeight: document.documentElement.clientHeight, //默认屏幕高度
showHeight: document.documentElement.clientHeight, //实时屏幕高度
在watch监听中,当监听的内容发生变化时,就触发获取图片的transform,并再次进行赋值,便可以保持图片在原有的位置上不变
//软键盘弹出 保持图片不回到原点
goaway(){
let trsuam = document.querySelector('.pinch-zoom');
let ngstr =trsuam.style.transform;
setTimeout(() => {
trsuam.style.transform = ngstr
}, 100);
},
定时器是必须要的,需要等图片重绘之后再赋值,否则会赋值原点的值。