0

我有一个 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 时,事件工作正常,但是当我加载模板 2 时,它没有为它处理事件。

可以指导我做错了什么。

我的第一个模板:

<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>
4

0 回答 0