【问题标题】:Hammer Js Not working with Backbone.jsHammer Js 不适用于 Backbone.js
【发布时间】:2014-05-06 07:46:21
【问题描述】:

我在使用backbone.js 和hammer.js 实现触摸事件时遇到问题

我尝试以传统方式实现触摸,即在“事件”部分定义触摸事件。但它对我不起作用。

请在下面找到我的代码

define(['Backbone','underscore','Handlebars','Hammer'],function(Backbone,_,Handlebars,Hammer) {
//getting the type of device in a variable using "userAgent"
window.MOBILE = navigator.userAgent.match(/mobile/i);   
var HeadderView = Backbone.View.extend(
{ 
 el: 'body',
 touchPrevents : false,
 initialize: function() 
 {
   this.el$ = $(this.el);
  },
   events: function() {//returning different functions based on the device
    return MOBILE ? 
       {
         'tap #headcontent': 'handleTap',
       } : 
       {
         'click #headcontent':'clickbackbone',
       }
  },
//declaring the corresponding functions 
  handleTap: function(){
  alert("tap event");
  },
  clickbackbone:function(){
   alert('backbone click');
   },
   render: function () 
    { 
//rendering the template and appending it to the page
      var that = this;
          require(['text!gaming/gameHeadder/headder.html'],function(HeaderTemplate){
          var template = Handlebars.compile(HeaderTemplate);
          var context = {title: "Tick Tack Toe", imageURL: "images/logo.jpg"}
      var htmlTemplate = template(context);
          that.el$.html( htmlTemplate);
        });
       },
     });
    return new HeadderView();
  }
);

谁能帮我改正我的代码

【问题讨论】:

  • 你在哪里叫锤子?

标签: javascript jquery backbone.js hammer.js


【解决方案1】:

这不是 Hammer 的工作方式。 Backbone 对 HammerJS 一无所知。

如果您真的想在 Hammer 中使用 Backbone 样式的事件委托,您可能需要查看 backbone.hammer 项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多