这是针对HTML5/Javascript WebApp,而不是原生Android应用程序.
当android软键盘打开时,如何防止浏览器/ DOM调整我的内容大小(响应速度,大多数是大小等vw/vh)?发生的事情是,打开键盘后,内容(尤其是字体大小)会发生变化(例如,在输入字段上).
我已经准备好了
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
Run Code Online (Sandbox Code Playgroud)
我想要实现的是,键盘充当叠加层,下面的内容变得可滚动.所以基本上,android:windowSoftInputMode在一个Android清单中会做什么.
当调整大小量在一定范围内时,我也尝试听窗口调整大小事件并阻止它(参见另一个问题的答案).但这里发生的事情是,键盘打开后立即再次关闭.(*)
所以我的基本想法是:
但我无法找到任何这些的工作解决方案.
我有一个看起来像这样的课程
export default class {
constructor () {
this.store = {}
}
setX (x, y) {
this.store[x] = y
}
}
Run Code Online (Sandbox Code Playgroud)
当获得未定义的值时,我将如何定义一个 getterthis.store来返回0?
让我举个例子吧:
setX('a', 1)将设置this.store['a']为1
然后this.store['a']会返回1,正如预期的那样。
但是this.store['b']会返回undefined,但我希望 getter 返回0(并且可能调用setX('b', 0),还不确定)。
我知道我可以Object.defineProperty用来定义一个自定义的 getter,我只是无法理解如何访问该store对象的一个任意的、尚未定义的属性。
这是可能的还是我必须使用这样的解决方法?
getX (x) {
return this.store[x] || 0
}
Run Code Online (Sandbox Code Playgroud)
我想避免这种情况,因为this.store[x]看起来更干净。