【发布时间】:2014-10-01 23:50:55
【问题描述】:
我正在使用带有 Cordova 3.5 版的 Telerik AppBuilder
我的问题是,我不希望我的应用程序中的 webview 滚动。每次需要滚动时,我都想使用 iScroll,我将通过我的代码处理滚动。
如果输入获得焦点并且由于 iScroll 中的滚动而不可见,则应用会自动滚动 webview。
我使用清单中的以下代码阻止了在 android 中滚动聚焦输入:
<preference name="android-windowSoftInputMode" value="adjustPan|stateVisible" />
为了防止打字时滚动,我的下一个想法是:
- 防止默认按键
- 存储按下的键
- 滚动到我在 iScroll 中的输入
- 将键粘贴到输入中(现在它肯定可见,上面的级别不会滚动 web 视图)
但android v4.4.4中的以下代码不会阻止默认:
$input.on( 'keypress', function(e)
{
e.preventDefault();
e.stopPropagation();
return false;
});
这是一个错误吗? 有什么解决方法吗?
编辑:
要查看浏览器正在更改什么属性,以便我可以将其更改回来,我查看了一些元素,但找不到它:
- $(window).scrollTop() -> 不变。
- iScroll 使用的元素的边距顶部和顶部 -> 不变。
【问题讨论】:
标签: android cordova input keypress preventdefault