IONIC - 当某些输入集中在 ios 上时,滚动会触发两次

IONIC - scroll is fired twice when some input is focused on ios

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

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

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

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

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

$ionicConfigProvider.scrolling.jsScrolling(true);

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

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

我解决这个问题的方法:在你不想使用这个 'delay fix' 的元素中添加 data-tap-disabled="true" by ionic 并且元素将遵循正常的方式来执行此操作,等待 300 毫秒然后点击一下。