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

时间:2016-07-07 15:18:42

标签: ios cordova scroll ionic-framework focus

我正面临IOS和离子问题,如果有人可以提供有关此问题的任何信息,请随时分享。

obs:我没有使用离子含量或任何其他离子指令。

BUG:我的表格有很多输入。 当键盘打开并且我点击不在视图中间并且没有聚焦的输入时,此输入将滚动到视图的中间,但是此相同的输入失去焦点并且视图滚动到下一个没有焦点的输入。

我在下面尝试过这种解决方法,但没有成功:

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中的所有滚动事件中放置了一个事件监听器,但是当输入获得焦点时发生的滚动事件并不会激活监听器。

1 个答案:

答案 0 :(得分:0)

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

我解决这个问题的方法:在你不想使用离子的这个'延迟修复'的元素中添加data-tap-disabled="true",元素将遵循正常的方式来做到这一点,等待300毫秒然后解雇点击。