Domanda

Ho fatto un'app telefonica / cordova 2.0 con backbone.js che è andato tutto bene fino a quando non ho provato a costruire in una forma.Il modulo viene visualizzato ma gli eventi del clic non attivano la tastiera.

Ho giocato in giro con diversi eventi e ho scoperto che l'aggiunta di ontouchstart="this.focus()" ha portato la tastiera.Ho aggiunto una catchall nella funzione di visualizzazione per portare a fuoco:

window.PageView = Backbone.View.extend({

    initialize: function() {
        this.template = _.template(tpl.get('page'));
    },

    render: function(eventName) {
        $(this.el).html(this.template(this.model.toJSON()));
        $('input', $(this.el)).bind('touchstart',function(event) {
            $(this).focus();
        });
        return this;
    }

});
.

Ma anche con questo se cambio bind('touchstart'... a 'click' non viene attivato.

Ho trovato un paio di altri post come: clicca evento nonIl fuoco in un modello di sottolineatura

Che suggerisce che è fare con il processo di modelli di sottolineatura.js Ma niente è molto chiaro.

Immagino di poter fare una funzione timer su Touchstart per simularlo ma è un po 'misterioso quindi voglio sapere cosa sta succedendo davvero.

Grazie.

È stato utile?

Soluzione 2

Si scopre che è stato iscroll causando il problema.

            onBeforeScrollStart: function (e) { e.preventDefault(); },
.

specificamente.Ho appena commentato il e.preventDefault(); e ha lavorato un trattamento!

Altri suggerimenti

Prova questo:

this.$(':input').bind(...)
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top