Щелкните события, которые не запускаются в PhoneGap / Backbone.js с помощью Underscore.js шаблона
-
11-12-2019 - |
Вопрос
Я создавал приложение Phonegap / Cordova 2.0 с помощью backbone.js , с которым все было в порядке, пока я не попытался создать форму.Форма отображается, но события щелчка не запускают клавиатуру.
Я поиграл с различными событиями и обнаружил, что добавление ontouchstart="this.focus()"
настроил клавиатуру нормально.Я добавил catchall в функцию просмотра, чтобы привлечь внимание:
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;
}
});
Но даже при этом, если я изменюсь bind('touchstart'...
к 'click'
это не срабатывает.
Я нашел пару других постов, таких как: событие щелчка не срабатывает в шаблоне подчеркивания
что наводит на мысль, что это связано с процессом создания шаблонов underscore.js, но ничего не очень ясно.
Я думаю, я мог бы создать функцию таймера на touchstart, чтобы имитировать это, но это своего рода загадка, поэтому я хочу знать, что происходит на самом деле.
Спасибо.
Решение 2
Оказывается, проблема была в iScroll.
onBeforeScrollStart: function (e) { e.preventDefault(); },
Конкретно.Я только что прокомментировал e.preventDefault();
и это сработало на славу!
Другие советы
Попробуй это:
this.$(':input').bind(...)