fastclick.js JQuery Mobile Phonegap und Android

Ich kann nicht alle diese arbeiten zusammen. Ich habe phonegap/JQM läuft mit fastclick.js perfekt auf iOS. Es ist ein Traum. Aber aus irgendeinem Grund bekomme ich noch einen 300ms Verzögerung auf android. Ich habe einige Warnungen und der code aufgerufen wird. Es ist unverständlich, wirklich. Ich bin den Test auf einem motorola droid razor maxx.

In meinem index.html Datei:

<!DOCTYPE html>
<html>
    <head>
        ...
        <script type='application/javascript' src='js/fastclick.js'></script>
    </head>
    <script>
    $(document).on("pagebeforechange", function (e, data) {
        FastClick.attach(document.body);
        alert('fastclick attached');
        var to_page = data.toPage[0].id;
        //skip showing #myPage if condition is true
        if (to_page == "index") {
            $.mobile.pageContainer.pagecontainer('change', 'event-list.html');
            e.preventDefault();
        }
    });

    </script>
    <body>
        <div id="index" data-role="page">
        This is the index page.
        </div>
    </body>
</html>

Aber es scheint nicht zu funktionieren. Ich habe auch versucht Anhängen wie:

window.addEventListener('load', function() {
    new FastClick(document.body);
}, false);

Denen beide arbeiten auf iOS, aber nicht scheinen, um eine Wirkung auf android. Irgendwelche Vorschläge?

edit: Es scheint, wenn ich entfernen Sie die JQuery-Bibliotheken funktioniert es einwandfrei. Es hat doch einen Konflikt irgendwo. Jede Idee, was es sein kann? Ich bin mit JQM 1.4.

edit: ich habe auch versucht, mit vclick ohne Erfolg

$("#test-element").bind('vclick',function() {
    $.mobile.pageContainer.pagecontainer('change', 'description.html?lunch_pk=2133',{
        transition: "slide",
    });
});
...
<h1 id='test-element'> CLICK HERE FOR TEST </h1>

Ich bin auch mit gesten um die Seiten zu wechseln, die auch verzögert wird, wird von 300ms, so dass ich nicht denke, dass selbst wenn vclick war arbeiten, es wäre eine komplett-Lösung.

edit: ok, also nach einigen weiteren Tests, bin ich ziemlich sicher, dass die Verzögerung kommt von innen JQM pagechange Funktionen. Ich habe eine Konsole.melden Sie innerhalb der vclick und ich das log ist ziemlich Ansprechend, wenn Sie die Taste drücken. Ich bin versucht, zu Graben, durch JQM aber nicht sehr erfolgreich, ich meine, warum würde es sein, nahtloser, die auf iOS und nicht auf android? Und vielleicht brauche ich nur eine bessere mobile Bibliothek.

Antwort

Ich war nie in der Lage, dieses problem zu lösen. Meine Lösung war, zu wechseln-Bibliotheken. Ich ging zu Intel ' s mobile app-framework, welches in der Lage war, alles zu tun, die ich Tat, mit JQM nur mehr erfolgreich.

  • welche Versionen benutzt du?
  • Sie sollten wissen, von changePage-Funktion 🙂 JQM 1.4
  • Cordova 3.1, Android 4.2.2 hier. Keine Probleme mit fastclick.js. JQM ist Schuld. Aber scheinbar gibt es etwas namens "vclick".
Schreibe einen Kommentar