jQuery touchSwipe-Ereignis für Element verhindert Bildlauf
Ich habe eine Liste vondiv
Elemente vertikal angeordnet. @ VerwendjQuery TouchSwipe-Plugin Wischereignis hinzugefügt, um das Wischen von links nach rechts abzufangen. Die Idee war, das Element von der Liste zu entfernen, indem man es wie folgt nach links oder rechts wischt:
ndlich habe ich so etwas:
$(function() {
$('.swElement').swipe({
swipeStatus: function(event, phase, direction, distance, duration, fingerCount) {
console.log(distance);
if (phase == "move") {
if (direction == "right") {
$(this).css({
'right' : (distance*-1)+'px'
});
}
} else if (phase == "cancel") {
$(this).css({
'right' : 0
});
} else if (phase == "end") {
$(this).animate({
'right' : '-100%'
}, 200, function() {
$(this).remove();
});
} else {
//?????
}
},
threshold: 150,
maxTimeThreshold: 5000,
fingers: 'all'
});
});
.swElement {
display: block;
width: 100%;
height: 50px;
border: 1px solid black;
box-sizing: border-box;
padding: 0 10px;
line-height: 50px;
cursor: pointer;
position: relative;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://dl.dropboxusercontent.com/u/2130702/cdn/jquery.touchSwipe.min.js"></script>
<h2>Swipe right to remove element</h2>
<div class="swElement">Element</div>
<div class="swElement">Element</div>
<div class="swElement">Element</div>
<div class="swElement">Element</div>
<div class="swElement">Element</div>
ProbleEs funktioniert hervorragend im mobilen Chrome-Browser, verhindert jedoch das Scrollen nach oben und unten im nativen Android-Browser.
Ich verstehe, dass diesesswipeStatus
Fange die Richtungen links / rechts und oben / unten ein, weiß aber nicht, wie ich das verhindern soll - ich brauche nur ein richtiges Wischereignis.
Irgendwelche Ideen? Danke im Voraus
AktualisiereIch kann das mobile jQuery-Framework nicht verwenden, da es mit anderen Skripten in Konflikt steht, die ich verwenden muss. Vielleicht gibt es einen anderen Weg, das herauszufinden?