【问题标题】:IONIC - scroll is fired twice when some input is focused on iosIONIC - 当某些输入集中在 ios 上时,滚动会触发两次
【发布时间】:2016-11-09 23:56:01
【问题描述】:

我遇到了 IOS 和 ionic 的问题,如果有人可以提供有关此问题的任何信息,请随时分享。

obs:我没有使用 ion-content 或任何其他 ionic 指令。

错误:我有一个包含大量输入的表单。 当键盘打开并且我单击不在视图中间且未聚焦的输入时,此输入将滚动到视图中间,但随后相同的输入失去焦点并且视图滚动到下一个没有焦点的输入。

我已经尝试了以下解决方法,但没有成功:

cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true); // <- this code is disabling all the app scroll 

$ionicConfigProvider.scrolling.jsScrolling(true);

另一个观察:我在body、html和window的所有滚动事件中都放置了一个事件监听器,但是当输入获得焦点时发生的这个滚动事件不会触发监听器。

【问题讨论】:

  • 你的解释很混乱。尝试重新措辞

标签: ios cordova scroll ionic-framework focus


【解决方案1】:

我终于找到了一些解决方案。移动设备在 touchend 事件后等待 300 毫秒然后触发点击事件,离子有一个实现来修复这个 300 毫秒的延迟,它是通过在 touchend 事件中触发点击事件而不等待 300 毫秒并防止设备触发来实现的300ms 后的点击事件。而且我认为 ionic 未能阻止设备触发点击,导致鬼点击。

我解决这个问题的方法:在你不想通过 ionic 使用此“延迟修复”的元素中添加 data-tap-disabled="true",该元素将尊重执行此操作的正常方式,等待 300 毫秒然后触发点击。

【讨论】:

    猜你喜欢
    • 2012-01-14
    • 2017-10-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    相关资源
    最近更新 更多