2012-08-09 113 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(我不曾使用)使它重新開始工作