Есть такой код
swipes: function (status) {
if (status) {
this.bindTo( this.elem('view'), 'mousedown', this._swipeStart );
this.bindTo( this.elem('view'), 'mouseup', this._swipeEnd );
}
},
_swipeStart: function (e) {
console.log(e);
this._tmpSwipeStart = e.pageX;
},
_swipeEnd: function (e) {
console.log(e);
if ((e.pageX - this._tmpSwipeStart) > 50) {
this.previous();
}
if ((e.pageX - this._tmpSwipeStart) < -50) {
this.next();
}
},
Событие на mouseup
не срабатывает. Не могу понять в чём дело.
а нет... Срабатывает. Но при перетаскивании мыши в нажатом состоянии - нет. Думаю нужно сделать
user-select: none
или что-то подобноесделал, вот решение (думаю сделать реализацию более качественной)
Почему вы используете mousedown/mouseup, а не pointer events? Вам не нужна работа на мобильных устройствах?
@apsavin Нужна. Сейчас сделал возможность прокрутки мышкой, далее по плану пальцы.
Тогда почему не используете pointer events?
@apsavin Спасибо за наводку )
@belozyorcev пожалуйста) Настоятельно рекомендую пройтись по всем блокам в bem-core,
RTFMпочитать доки.Кроме jsdoc есть что почитать по pointer events?
Ну вот тут есть
Ну или тут, если вообще)
Вот эта строка тоже укажет направление для изучения
@apsavin в приведённой документации БЭМ модуль подключается так
deps.js
Я пробовал так сделать, но ничего не получилось. Потом я полез искать исходники и посмотрел, что происходит расширение модуля jquery в объявлениях модулей. Поэтому сделал так, как ниже.
Сейчас всё заработало. Вот не знаю... Или документация устарела, или я не совсем что-то понимаю.
П.Н. Карусель на телефоне получилась отзывчивей, чем Owl Carousel, чему очень рад :santa:
Похоже на опечатку https://github.com/bem/bem-core/pull/945.
@apsavin @belozyorcev да, в доке действительно была опечатка, спасибо за бдительность и PR! PS: для подписки через
bindTo()
и зависимость отjquery
не нужна.@tadatuta в коде
jquery
используется других местахпросто для отвода души:
конструкцию
можно записать проще:
@sipayRT Спасибо за наводку :)