0

我使用内置于 javascript/jQuery 的浏览器应用程序,当按下某个按钮时会打开一个弹出框/对话框。弹出框与该按钮对齐。如果我们调整浏览器窗口的大小,我们希望弹出框关闭,所以我们监听 resize 事件并关闭弹出框。但问题是当我们在 iPad 的浏览器中访问应用程序时。如果我们在弹出框内的某个输入字段中输入内容,然后通过按下“隐藏键盘”按钮选择隐藏键盘,则会发生调整大小事件并关闭弹出框。我们不希望它在这种情况下关闭。

有谁知道我们如何解决这个问题?我们可以捕捉到键盘是关闭的吗?我只发现应用程序中使用的通知,而不是浏览器网站。或者我们可以在调整浏览器窗口大小时监听另一个事件来关闭弹出框吗?

4

2 回答 2

0

您可以为您的项目尝试此解决方案。

$(window).bind('orientationchange', function(event) {
  if (window.orientation == 90 || window.orientation == -90 || window.orientation == 270) {
    // When orientation is 90 / -90 / 270 degrees
  } else {
    // When orientation is other degrees
  }
});

您也可以在下面查看这些链接。

jQuery .ready/resize 在 iPad 上不起作用

如何在 ipad 中调整/重新缩放网页

于 2013-05-27T13:57:04.940 回答
0

您可以使用 gesturechange 事件,然后测试是否触发该事件,因为在一些特殊情况下,它听起来需要被忽略。

 $.bind("gesturechange", function(event) {
     // event.originalEvent.scale;
 });
于 2013-05-27T15:53:03.880 回答