У меня есть пользовательский слайдер изображений с использованием событий Hammer.js.
Я использую следующее для создания моего объекта «молот»:
const hammerPan = new Hammer(domElement,
{
// lock vertical scrolling when panning left to right
touchAction: 'pan-y',
recognizers: [
// we don't care about vertical, but we want always to get panstart and panend
// events so we use ALL to prevent unncesessary filtering from hammerjs
[Hammer.Pan, { direction: Hammer.DIRECTION_ALL, threshold: 10 }]
]
});
Слайдер (как и большинство слайдеров) перемещаетсяслева направо, но чтобы избежать блокировки вертикальной прокрутки на мобильных устройствах, я использую touchAction: 'pan-y'
, поэтому я все еще могу прокручивать.
В IOS 12 все работало просто отлично - , даже если я панорамировал влево, а затем переместил свойпалец вверх, прежде чем отпустить.Это вызовет некоторые события вертикального панорамирования, но все равно будет заканчиваться панелью .
С IOS 13 (и у меня есть два телефона для сравнения) это не даст мне окончательное событие panend
, поэтому мои слайды будутзастрять на полпути.