当方向更改触发时,我需要根据页面其他响应元素的宽度重新计算特定元素的宽度。
问题是当orientationchange
侦听器的回调被触发时,DOM还没有准备好:
$(window).on("orientationchange", function() {
var newWidth = $("#elem1").width() - $("#elem2").width();
$("#elemToResize").width(newWidth);
});
elem1和elem2的计算宽度是旧的(在先前的设备方向中),因此newWidth值是错误的。这里是否有任何干净的解决方案可以避免使用timeOut?
ps:我在iPhone 5s上遇到了这个问题