我有一个功能responsive
可以改变我网站上某些元素的行为,包括隐藏弹出窗口等。我在两种情况下称之为:
$(document).ready(responsive);
$(window).resize(responsive);
问题出现在 android chrome 上,因为虚拟键盘实际上改变了屏幕的高度,并触发responsive
了关闭我的弹出窗口的功能(其中一些有文本字段,因此无法输入)。
我怎样才能防止这种情况发生?我在某处读到了一个很好的观点,即 android 虚拟键盘只会改变屏幕的高度,而不是宽度,所以我认为在调整大小之前和之后比较宽度是个好主意。所以我创建了这个函数来比较之前和之后的宽度,resize()
如果宽度不同则运行,但它不能按预期工作,即使我只更改了屏幕的高度,控制台日志也会显示不同的文档宽度(使用 chrome 开发人员工具)。
知道出了什么问题或如何防止responsive
在高度变化时启动功能?
function resizeWidth() {
var existingWidth = $(document).width();
$(window).resize(function() {
var newWidth = $(document).width();
if (existingWidth != newWidth) {
$(window).resize(responsive);
console.log(existingWidth);
console.log(newWidth);
};
});
};
$(window).resize(resizeWidth);