#sencha-touch
#sencha-touch
Вопрос:
Мы делаем демонстрационную версию iPhone в стиле bootstrap и больше ориентируемся на jQuery, чем на Ext, и, соответственно, у нас возникли некоторые проблемы с событиями и синтаксисом в Sencha Touch.
Я прикрепил событие itemswipe к элементу списка, и при пролистывании оно выполняет заданные задачи, но при пролистывании список также перемещается по вертикали. Я бы предпочел, чтобы этого не произошло.
Есть ли параметр «остановить прокрутку», который я мог бы добавить к функции ниже? Прошу прощения, если я упускаю очевидное — между документацией и крайним сроком это может иметь место.
$itemswipe: function (list, index, element, event) {
if (event.direction =="right") {
//tasks
});
}
},
Спасибо!
Ответ №1:
Я заставил его работать следующим образом:
var thisController = this;
this.control({
'.myList' : {
itemswipe : function(dataView, index, target, e, eOpts) {
console
.log('myList itemSwipe '
index);
thisController.getMyList().setScrollable(false);
}
}
});
Все это определено в функции инициализации контроллера. Я сохраняю ссылку на контроллер, потому что иногда она выходит за рамки обработчика событий. Таким образом, вы можете ссылаться на контроллер. У меня также есть ‘myList’, определенный примерно как ссылка:
{
ref : 'myList',
selector : '.myList'
}
Это, по крайней мере, остановит прокрутку вашего списка. Вы можете повторно включить его с опозданием (установите для него значение true), когда вы закончите с тем, что вы хотите сделать, когда обнаруживается прокрутка элемента. Это работает на Sencha Touch 2. Дайте мне знать, если вам нужна дополнительная информация!
Комментарии:
1. Спасибо! Собираюсь попробовать.