Auf meiner main page (#home) habe ich eine dynamisch erstellte Tabelle. Mit folgendem Code reagiere ich auf das Swipeleft Event. Zunächst öffnet ein Dialog, dann werden diverse Werte geändert und neu gespeichert. (Es handelt sich um eine "Undo"-Funktion. Dere Wert, der vorher eingetragen wurde, wird gelöscht, und alle Werte in der Tabelle nach links verschoben).
Jedoch, wenn der Dialog schließt, öffnet er sich direkt wieder (nicht immer. Manchmal gar nicht, manchmal 10X hintereinander). Scheinbar wird das "Swipeleft" immer wieder gefeuert.
Jemand ne Idee, was da los ist?
Jedoch, wenn der Dialog schließt, öffnet er sich direkt wieder (nicht immer. Manchmal gar nicht, manchmal 10X hintereinander). Scheinbar wird das "Swipeleft" immer wieder gefeuert.
Jemand ne Idee, was da los ist?
Code:
$(document).on( "pageshow", "#home",function(event)
{
$("#my-table").swipeleft(function(e)
{
var name=(e.target.parentElement.firstChild.innerHTML); // Der Name in der ersten Zelle in der Reihe
$("#Undolabel .Undotext").text(name); //Name in HTML-Code eintragen
$.mobile.changePage($("#Undo"), { transition: "pop"}); //Nur ein Dialog mit Text (und dem Namen) und OK/Cancel-Buttons
});
});
function UndoOK() // OK-Button clicked
{
var name=$("#Undolabel .Undotext").text();
var werte=JSON.parse(localStorage.getItem(name)); //Werte von "name" lesen
werte.shift(); //Werte ändern
if (werte.length<16)
{
werte.push("0,00");
}
localStorage.setItem(name,JSON.stringify(werte)); /speichern
$("#Undo").dialog('close'); //Close Dialog
}
function Undocancel() //Cancel clicked
{
$("#Undo").dialog('close');
}
Zuletzt bearbeitet von einem Moderator: