Я использую JQuery Mobile и создали что-то, что несколько напоминает Android Holo Вкладки:Пытаясь предотвратить jQueryMobile салфетки жест из кипящий, но это не работает
Для того, чтобы получить салфетки жест, чтобы работать для переключения между вкладками, это код, я добавил:
$("#myPage #pageTabs").on('swipeleft swiperight', function(e){
e.stopPropagation();
e.preventDefault();
});
$("#myPage").on('swipeleft', function(){
ui.activities.swipe(1);
}).on('swiperight', function(){
ui.activities.swipe(-1);
});
С HTML вкладки, напоминающие:
<div id="pageTabs">
<div class="tab">
<a href="#" data-dayOfMonth="26">Thu</a>
</div>
<div class="tab">
<a href="#" data-dayOfMonth="27">Fri</a>
</div>
<div class="tab">
<a href="#" data-dayOfMonth="28" data-meridian="am">Sat AM</a>
</div>
<div class="tab">
<a href="#" data-dayOfMonth="28" data-meridian="pm">Sat PM</a>
</div>
<div class="tab">
<a href="#" data-dayOfMonth="29">Sun</a>
</div>
</div>
Я слушаю жесты салфетки на уровне страницы, потому что div[data-role=content]
может иногда не заполнять экран по вертикали, если для этого недостаточно контента. Если бы я слушал этот div, и он не закрывал экран, и вы промахнулись вплотную к дну, событие не загорелось бы на этом div, это было бы на корневой странице (div[data-role=page]
).
Это 3D-рендеринг Firefox этой страницы для подтверждения вышеуказанного утверждения. Я аннотированный div[data-role=content]
:
По этой причине, я слушаю для него на уровне страницы; но так как количество вкладок может прокручиваться из окна просмотра (как видно выше: воскресенье за пределами экрана справа), я хотел бы, чтобы пользователь мог прокручивать это по горизонтали. У меня уже работает горизонтальная прокрутка (это всего лишь простой CSS), но проблема в том, что даже с моим e.stopPropagation()
, описанным выше, жест взлома поднимается до элемента страницы, и мой жест жестов препятствует плавной прокрутке был доступен до того, как я добавил жестом салфетки.
Неужели я не понимаю, как происходит пузырирование событий или как остановить его в этом сценарии?
'e.target' может помочь? – Omar
Каким образом? Можете быть более конкретными? –
Я имею в виду, что вы слушаете целевой элемент, где произошло событие, и, соответственно, выполняйте код http://fiddle.jshell.net/Palestinian/zbPZh/show/ – Omar