我一直很喜欢在iPad HTML5项目中使用Backbone JS ......但我很快就遇到了需要iPad-ish过渡,表单元素等问题.环顾四周后,似乎jQuery Mobile是最成熟的.我们无论如何都使用jQuery.
但是我很快遇到的一件事是两个库中的哈希事件/ ajax很快就没有用了.因为jQuery Mobile负责页面加载和转换等工作,所以我的Backbone Controller路由不像之前那样工作.看起来两者实际上并不兼容?
经过一些工作,我有一个基本的解决方法...使用jQuery Mobile中的页面加载事件来查看它所在的活动页面,然后激活与该页面一致的正确的Backbone View.基本上完全取消了Backbone的哈希监听/路由/控制器.
但这仍然不合适吗?Backbone JS和jQuery Mobile如何无缝地协同工作?我该怎么做,向前迈进?
我正在努力让锤子js事件与骨干一起工作,但无法让它响应事件.我已经尝试了以下..
http://cijug.net/tech/2013/01/16/backbone-hammer/
https://gist.github.com/kjantzer/4279025
我还在我的视图中放下了一段代码
initialize: function(){
this.events = _.extend({}, this.defaultEvents, this.events||{});
}
Run Code Online (Sandbox Code Playgroud)
JS小提琴:http://jsfiddle.net/XcYhD/
码
<div id="swiping"></div>
JS
AppView = Backbone.View.extend({
el: '#swiping',
events: {
'swipe': 'swipeMe'
},
render: function(){
this.$el.html('<h2>Swipe Me</h2>');
},
swipeMe: function(e){
alert('swiped ' + e.direction);
}
});
var view = new AppView();
view.render();
Run Code Online (Sandbox Code Playgroud)
包含的库 - hammer.js,jquery.specialevent.hammer.js等.
无论如何让它工作?