我正在嘗試與骨幹js建立一個交換視圖,發現我的綁定事件多次觸發,當我切換視圖幾次。Backbone綁定事件多次觸發
下面是爲了更好地說明代碼:
HTML
<div id='container'>
halo world
</div>
<button id='but1'>red view</button>
<button id='but2'>blue view</button>
CSS
#red_view{
width:400px;
height:400px;
background-color:red;
}
#blue_view{
width:400px;
height:400px;
background-color:blue;
}
.button,.button2{
width:300px;
height:300px;
background-color:gray;
}
的JavaScript
RedView = Backbone.View.extend({
el: "#container",
events:{"click .button":"clickme"},
clickme:function(){
alert('redview');
},
initialize: function(){
this.$el.html("<div id='red_view'><div class='button'>Click Me</div></div>");
}
});
BlueView = Backbone.View.extend({
el: "#container",
events:{"click .button2":"clickme2"},
clickme2:function(){
alert('blueview');
},
initialize: function(){
this.$el.html("<div id='blue_view'><div class='button2'>Click Me</div></div>");
}
});
$(document).ready(function(){
//var router = new SystemRouter();
$('#but1').click(function(){
var view = new RedView();
});
$('#but2').click(function(){
var view = new BlueView();
});
});
如果您單擊紅色視圖3次,然後按'點我'。它也會彈出三次警報。我懷疑有必要在某個地方解除事件,但找不到合適的方法來做到這一點。最好提供一些正確執行此操作的參考。
下面是jsfiddle演示的鏈接。 http://jsfiddle.net/mochatony/DwRRk/31/
你並沒有清理你的意見,留下你的鬼影。在下面檢查我的答案! – jakee