javascript - 鉴于主干js,单击按钮不起作用

标签 javascript backbone.js requirejs underscore.js underscore.js-templating

我是backbone.js的新手,我创建了一个联系表单并希望在我网站的多个页面中使用它。我正在使用 text.js 为项目的每个模板制作 html 文件。

这是客户 View ,我的项目中的 View 之一,并在其中添加联系表单:

define(["jquery" ,
    "underscore" ,
    "backbone" ,
    "text!templates/contact_tem.html"
],function($ , _ , Backbone, Contact){

  var customer = Backbone.View.extend({
    initialize : function(){
    },
    el: '#customerdiv',
    render : function(){
        this.$el.empty();
        var _contact = _.template(Contact);
        this.$el.html("blah blah blah");
        $("#contactformhere").html(_contact);
    }
  });
  return customer;
});

例如,我在联系表单模板中有一个按钮,我不想在客户 View 中处理按钮事件,如果我为此,我必须在项目的每个 View 中编写按钮事件。然后我创建一个 View ,用于处理 contact 表单:

define(["jquery" ,
     "underscore" ,
     "backbone" ,
     "text!templates/contact_tem.html"
],function($ , _ , Backbone , Contact){
var contact = Backbone.View.extend({
    initialize:function(){
        this.render();
    },
    event : {
        'click #testonContactForm' : 'hi'
    },
    hi : function(){
      alert("Hi");
    },
    render:function(){
        var _contact = _.template(Contact)
        this.$el.html(_contact);
    }
});
return contact;
});
联系人 View 中的

alert("hi") 不起作用,有什么想法吗?谢谢。

最佳答案

尝试用事件替换事件

events : {
        'click #testonContactForm' : 'hi'
    }

http://backbonejs.org/#View-delegateEvents

希望这有帮助

关于javascript - 鉴于主干js,单击按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22600053/

相关文章:

javascript - 如何使用 backbonejs 和 requirejs 动态加载 View 和模板

javascript - 操作 dom 元素而不修改实际 dom 状态

javascript - 如何保证数据库数据始终准确反射(reflect)在网页中?

javascript - jQuery 可以在 jsFiddle 中使用,但不能在 Drupal 中使用

javascript - 用于单页 Web 应用程序的 New Relic 真实用户监控

javascript - 如何在 requireJS 中回退到整个文件夹

javascript - ngAnimate 在使用 requirejs 时不工作

javascript - 无法从本地主机通过 JavaScript 调用 API

javascript - BackboneJS、RequireJS 应用程序模块可从整个项目访问

javascript - Requirejs + Backbone 未捕获类型错误 : Cannot read property 'each' of undefined