0
我已經創建了一個隱藏基於表元素的過濾器上被點擊「輸入」標籤的簡單骨幹查看:重構骨幹查看代碼,以消除重複
var Filter = Backbone.View.extend({
tagName: "form",
events: {
"click input[name='2013']" : "filter2013",
"click input[name='2012']" : "filter2012"
},
filter2013: function() {
$("tr:contains('2013-')").toggle();
},
filter2012: function() {
$("tr:contains('2012-')").toggle();
},
render: function() {
this.$el.html(JST['acquisitions/filter']);
$("#filter-container").append(this.$el);
return this;
}
});
不優雅可言,尤其是如果我想要添加更多'輸入'元素,這將在視圖中導致更多自定義函數重複代碼。也許一個for循環結合jquery在網頁中查找數字(比如說2013,2012和2011等),並根據這些數據生成事件。或者,也許我需要將這些事件完全從視圖中取出。
有什麼建議嗎?
感謝您的建議。有用。一些澄清:1.你爲什麼說有'class =「year」'更容易找到?引用name屬性似乎工作正常。 – tdkr
'class =「year」'允許您通過一個''click input.year''綁定到感興趣的'','name'屬性在''之間變化,因此您必須設置在'events'中添加多個條目。 –