Щелкните события, которые не запускаются в PhoneGap / Backbone.js с помощью Underscore.js шаблона

StackOverflow https://stackoverflow.com//questions/12652161

Вопрос

Я создавал приложение 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(...)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top