2012-08-09 60 views
1

触发有以下几种观点:骨干木偶ItemView控件的事件不与符

ContactsApp.SettingsView = Backbone.Marionette.ItemView.extend({ 
    initialize: function() { 
     this.bindTo(this.model, "change", this.modelChanged); 
    }, 
    modelChanged: function (model, value) { 
     console.log(this.model.get('search')); 
     this.render(); 
    }, 
    events: { 
     'click .clickable': 'GoTo', 
     'keyup input[type=text]': 'search' 
    }, 
    GoTo: function (ev) { 
     var dest = $(ev.target).data('dest'); 
     if (dest == undefined) { return; } 
     if (dest === "next") { this.model.nextPage(); return; } 
     if (dest === "prev") { this.model.previousPage(); return; } 
     this.model.set({ page: dest }); 
    }, 
    search : function (ev) { 
     console.log('search'); 
    }, 
    template: "#additional-stuff-template" 
}); 

和我的模板:

<script type="text/template" id="additional-stuff-template"> 

    <span class="clickable" data-dest="1">First</span>&nbsp; 
    <span class="clickable" data-dest="prev">Previous</span>&nbsp; 
    <input type="text" value="{{ page }}" size="3" /> of {{ pages}} 
     <span class="clickable" data-dest="next">Next</span>&nbsp; 
    <span class="clickable" data-dest="{{ pages }}">Last</span> &nbsp; 
     Search : <input type="text" class="search" value="{{ search }}" size="15" /> 
</script> 

事件不火。如果我改变

events: { 
    'click .clickable': 'GoTo', 
    'keyup input[type=text]': 'search' 
}, 

events: { 
    'click': 'GoTo', 
    'keyup': 'search' 
}, 

我可以单击事件来运行,但它不是仅仅根据跨度的(曾与锚标记相同的问题也是如此。

我知道这是我正在做的愚蠢的事情...

回答

1

原来我没做的事情是愚蠢的。

事实证明,这可能发生,如果你有

jquery.validate 1.5.5
和 的jQuery 1.7.2 (可能还有其他的版本,这效果,这只是一个我不得不)

删除jquery.validate(我不曾使用)使它重新开始工作