2016-04-05 3 views
1

Ich habe eine dynamische Seite, die erstellt wird, um Ergebnisse von Daten aus der Datenbank abgerufen anzuzeigen. Wenn die Seite erstellt wird, werden die Ergebnisse angezeigt und Sie können nach oben/unten scrollen, um die verschiedenen Ergebnisse anzuzeigen.Bei der Rückkehr auf die gleiche Seite, hört es auf zu scrollen

Wenn ich jedoch die Seite verlasse und dann zurückkehre, kann man nicht mehr nach oben/unten blättern, so dass es einfriert, außer dass man immer noch die sichtbaren Schaltflächen drücken kann.

Nur um zu erwähnen, verwende ich JQuery Mobile.

Kann jemand das Problem hier sehen?

JavaScript-Funktion:

function fetchEvent() { 
    db = window.openDatabase("SoccerEarth", "2.0", "SoccerEarthDB", 2 * 1024 * 1024); 
    db.transaction(function(tx) { 
    var TitleT = document.getElementById("texttitle").value; 
    tx.executeSql("SELECT * FROM SoccerEvents WHERE Title LIKE '%" + TitleT + "%'", [], successCBValue, errorCB); 
     }); 
function successCBValue(tx, response, page_id) { 
    var formElements = "<table id='resulttable' data-role='table' data-mode='reflow' class='ui-responsive table-stroke table-stripe'><thead><tr><th>Title</th><th>Location</th><th>NoPeople</th><th>Date</th><th>Description</th></tr></thead><tbody>"; 
    for (var i = 0; i < response.rows.length; i++) { 
    formElements += "<tr><td>" + response.rows.item(i).Title + "</td><td>" + response.rows.item(i).Location +"</td><td>" + response.rows.item(i).NoPeople + "</td><td>" + response.rows.item(i).Date +"</td><td>" + response.rows.item(i).Description + "<button data-rowtitle='" + response.rows.item(i).Title + "' data-mini='true' class='btnJoin'>Join</button></td></tr>"; 
     } 
    formElements+="</tbody></table>"; 
    $('#page_body').append('<div data-role="page" data-theme="d" id="' + page_id + '"><div data-role="content">' + formElements + '<a href="#page4" data-role="button" data-mini="true">Return</a></div></div>'); 
    $.mobile.initializePage(); 
    $.mobile.changePage("#" + page_id); 
    $(document).on("click", ".btnJoin", function(e){ 
     var title = $(this).data("rowtitle"); 
     updateEvent(title) 
    }); 
    } 
} 

function updateEvent(title) { 
     db = window.openDatabase("SoccerEarth", "2.0", "SoccerEarthDB", 2 * 1024 * 1024); 
     db.transaction(function(tx) { 
     tx.executeSql("Update soccerevents SET NoPeople = NoPeople +1 WHERE Title = '" + title + "'", [], successJoin,errorCB); 
       }); 
     function successJoin() { 
     navigator.notification.alert("You have joined the event!", null, "Information", "ok"); 
     $(":mobile-pagecontainer").pagecontainer("change", "#page4"); 
                       } 
} 

Antwort

1

ich jQuery Mobile gar nicht wissen - aber es scheint, als dieser Linie ist der Täter:

$.mobile.changePage("#" + page_id); 

Als ich es gelesen - wenn Sie ändern Die Seite fügt diesen Anker hinzu und kehrt zu diesem Ort zurück. Keine Ahnung, warum Sie nicht blättern können - aber es könnte ein Ort sein, an dem Sie nachforschen können.