我一直在用backbone.js制作一个Phonegap / Cordova 2.0应用程序,在我尝试构建一个表单之前一切都很好。显示表单,但单击事件不会触发键盘。
我玩了不同的事件,发现添加ontouchstart="this.focus()"
键盘很好。我在视图函数中添加了一个包罗万象以带来焦点:
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'
也不会被触发。
我发现了其他一些帖子,例如:click event doesn't fire in an underscore template
这表明它与 underscore.js 模板过程有关,但没有什么很清楚。
我想我可以在 touchstart 上创建一个计时器功能来模拟这一点,但这有点神秘,所以我想知道到底发生了什么。
谢谢。