Iphone 使用下划线.js模板单击PhoneGap/Backbone.js中未激发的事件
我一直在用backbone.js制作一个Phonegap/Cordova 2.0应用程序,在我尝试构建一个表单之前,这个应用程序一直都很好。将显示表单,但单击事件不会触发键盘 我处理了不同的事件,发现添加Iphone 使用下划线.js模板单击PhoneGap/Backbone.js中未激发的事件,iphone,cordova,backbone.js,underscore.js,cordova-2.0.0,Iphone,Cordova,Backbone.js,Underscore.js,Cordova 2.0.0,我一直在用backbone.js制作一个Phonegap/Cordova 2.0应用程序,在我尝试构建一个表单之前,这个应用程序一直都很好。将显示表单,但单击事件不会触发键盘 我处理了不同的事件,发现添加ontouchstart=“this.focus()”可以很好地使用键盘。我在view函数中添加了一个catchall,以获得焦点: window.PageView = Backbone.View.extend({ initialize: function() { th
ontouchstart=“this.focus()”
可以很好地使用键盘。我在view函数中添加了一个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'
,它也不会被触发
我还发现了一些其他帖子,如:
这表明它与underline.js模板化过程有关,但没有什么是非常清楚的
我想我可以在touchstart上制作一个定时器函数来模拟这个,但它有点神秘,所以我想知道到底发生了什么
谢谢。试试这个:
this.$(':input').bind(...)
结果是问题的根源
onBeforeScrollStart: function (e) { e.preventDefault(); },
具体地说,我刚刚注释掉了
e.preventDefault();
,效果不错!绑定事件不是问题,因为我可以成功绑定其他事件。它只是不会触发单击事件。