Fai clic su Eventi non vengono licenziati in PhoneGap / Backbone.js con modello di sottolineatura.js
-
11-12-2019 - |
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.
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(...)
.