Backbone Marionette ItemView未触发事件(使用两个模板)

时间:2013-10-01 13:10:38

标签: backbone.js marionette

我有一个Backbone Marionette ItemView,它有两个模板,我想在特定条件下打开。 骨干视图正在为1个模板注册事件,但不会为第二个模板注册。

 var emailView = Marionette.ItemView.extend({
            initialize: function(){
          },
          getTemplate: function(){
            if(this.options.position == 'a'){
//load tempalte 2
              return template2;
            } else {
//load template 1
              return template;
            }
          },
          events: {
//event from second template, not firing
              'click #abcdef': 'a',
//event from first template, working
              'click #sendemail': 'b'
          },
          a: function(){
            alert("Hello");
          },
          b: function(){
            alert("Hellob");
          }

当我运行模板1时,事件工作正常,但是当我加载template2时,它没有为它拍摄事件。

可以指导我做错了什么。

我的第一个模板:

<div id="emaildialog" title="" class="emaild">
    <div class="row">
        <div class="row1">
            <button class="k-button" id="sendemail">Send</button>
        </div>      
    </div>
</div>

我的第二个模板:

<div id="emailconfiguredialog" class="emaild" title="">
    <div class="row">
        <div class="row1">
            <button class="k-button" id="abcdef">Update Email</button>

        </div>
    </div>
</div>

0 个答案:

没有答案