gpt4 book ai didi

android - 在 Android Phonegap App 中填写时防止滚动到输入

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:54 25 4
gpt4 key购买 nike

我正在使用 Telerik AppBuilder 和 Cordova 3.5 版

我的问题是,我不希望我的应用程序中的 webview 滚动。每次需要滚动时,我都想使用 iScroll,我将通过我的代码处理滚动。

如果输入获得焦点并且由于在 iScroll 中滚动而不可见,应用会自动滚动 webview。

我使用 list 中的这段代码阻止了在 android 中滚动聚焦输入:

<preference name="android-windowSoftInputMode" value="adjustPan|stateVisible" />

为了防止打字时滚动,我的下一个想法是:

  1. 防止按键默认
  2. 存储按下的键
  3. 滚动到我在 iScroll 中的输入
  4. 将键粘贴到输入中(现在它确实可见并且上面的级别不会滚动 webview)

但是android v4.4.4 中的以下代码并不能防止默认:

    $input.on( 'keypress', function(e)
{
e.preventDefault();
e.stopPropagation();
return false;
});

这是一个错误吗?有什么解决方法吗?

编辑:

为了查看浏览器正在更改的属性,以便我可以将其更改回来,我查看了一些元素,但找不到:

  1. $(window).scrollTop() -> 不变。
  2. margin-top 和 iScroll 使用的元素顶部 -> 不变。

最佳答案

我知道这是一个老问题,但我认为你的问题是当按键事件被触发时,'keydown' 事件已经被发送到输入,这是发送实际键的事件。按住字符键之后会触发按键。所以你应该尝试防止默认 'keydown' 事件,并且可能还有 'keypress' 以防按住时重复字母。

$input.on( 'keydown keypress', function(e)
{
e.preventDefault();
});

关于android - 在 Android Phonegap App 中填写时防止滚动到输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25204519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com