javascript - 使用 JavaScript 隐藏软键盘后确定正确的 Android WebView 屏幕大小?

标签 javascript android

我正在开发一个“移动网络”应用程序,并且完全依赖 javascript 来解决这个问题。在某些 Android 设备上,尤其是三星 Galaxy 系列,当出现软键盘时会触发 window.resize 事件,从而缩短我的 screen.height 的高度。当用户点击软键盘的“开始”按钮时,我的应用程序重新加载的高度小于软键盘的高度。

现在,我正在监听 window.resize 事件,所以如果用户旋转设备,一切都会自行调整。但是,我希望找到一种以编程方式触发 window.resize 事件的方法,这样当我旋转设备时执行的每个操作都会被触发。 p>

这可以做到吗?

最佳答案

如果您使用的是 jQuery 移动版,请使用 jQuery trigger()

如果不使用 this来自 stackoverflow 的代码 question :

You can use fireEvent on IE, and w3c's dispatchEvent on most other browsers. To create the event you want to fire, you can use either createEvent or createEventObject depending on the browser.

Here is a self-explanatory piece of code (from prototype) that fires an event dataavailable on an element:

    var event;
  if (document.createEvent) {
    event = document.createEvent("HTMLEvents");
    event.initEvent("dataavailable", true, true);
  } else {
    event = document.createEventObject();
    event.eventType = "ondataavailable";
  }

  event.eventName = eventName;
  event.memo = memo || { };

  if (document.createEvent) {
    element.dispatchEvent(event);
  } else {
    element.fireEvent(event.eventType, event);
  }

更新:

IE浏览器有fireEvent()方法,非IE浏览器有dispatchEvent()方法。您可以手动触发事件。诀窍是创建一个类似于 window.resize 的事件并触发它。我从来没有试过这个。但我希望这能有所帮助。

关于javascript - 使用 JavaScript 隐藏软键盘后确定正确的 Android WebView 屏幕大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7001331/

相关文章:

php - Uncaught ReferenceError : . 。未定义..但我可以在错误字符串中看到该变量

java - 如何将js中的var转换成java?

android - 延迟 onPause() 方法

带 fragment 的 Android ListView

android - Android Map底部的RecyclerView

javascript - 时间选择器出现在模态后面

javascript - 为什么行未定义?

javascript - 三.js ParametricGeometry动画(动态变化功能)

Android:SurfaceView 和 Z 级问题

android - SKOBBLER SDK 2.5 播放街道名称带语音提示