Es wurde versucht, das Sprudeln der jQueryMobile-Wischgeste zu verhindern, dies funktioniert jedoch nicht

Ich verwende jQuery Mobile und habe etwas erstellt, das Android Holo Tabs ähnelt:

http://note.io/18RNMRk

Damit die Wischgeste beim Wechseln zwischen Registerkarten funktioniert, habe ich folgenden Code hinzugefügt:

$("#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);
});

Mit dem HTML-Code der Registerkarten:

<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>

Ich höre auf die Wischgeste auf Seitenebene, weil diediv[data-role=content] kann manchmal den Bildschirm nicht vertikal ausfüllen, wenn nicht genügend Inhalt vorhanden ist. Wenn ich dieses Div anhöre und es den Bildschirm nicht verdeckt und du ganz nach unten wischst, würde das Ereignis nicht auf dieses Div abfeuern, sondern auf der Root-Seite (div[data-role=page]).

Hier ist das 3D-Rendering dieser Seite in Firefox zum Beweis der obigen Behauptung. Ich habe kommentiertdiv[data-role=content]:

http://note.io/18RPhyK

Aus diesem Grund höre ich auf Seitenebene darauf. Da sich die Anzahl der Registerkarten jedoch aus dem Ansichtsfenster heraus bewegen lässt (siehe oben: Sonntag ist rechts außerhalb des Bildschirms), möchte ich, dass der Benutzer dies auch horizontal tun kann. Das horizontale Scrollen funktioniert bereits (das ist nur ein einfaches CSS), aber das Problem ist, dass es auch bei meinem funktionierte.stopPropagation() Wie oben zu sehen, sprudelt die Wischgeste bis zum Seitenelement und meine Wischgeste verhindert das reibungslose Scrollen, das verfügbar war, bevor ich die Wischgeste hinzugefügt habe.

Verstehe ich falsch, wie das Sprudeln von Ereignissen funktioniert oder wie es in diesem Szenario gestoppt werden kann?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage