我有每個格內的兩個div嵌套和2個按鈕:knockoutjs - 按鈕區分點擊事件得到2視圖模型結合
<div id="d1">
<button data-bind="click:x">
invoke x
</button>
<div id="d2">
<button id="Q_btn" data-bind="click:x">
invoke x
</button>
</div>
</div>
和2視圖模型,結合爲:
var viewModel1 = {
x : function() {
alert('from model1')
}
}
var viewModel2 = {
x : function() {
alert('from model2')
}
}
ko.applyBindings(viewModel2, document.getElementById('d2'));
ko.applyBindings(viewModel1, document.getElementById('d1'));
現在,當我點擊d2(Q_btn)中的按鈕時,2提醒提高,第一個說'來自模式2',第二個說'來自模型1'。 我想要當我點擊Q_btn只有第一次警報發生。
注意:在我的項目中,我加載了divs上的一些html頁面。每個div都有自己的視圖模型。直到現在所有東西都可以(每個div都有自己的viewmodel並且沒有衝突發生),但是在嵌套div的情況下,上述問題已經發生。
我感謝你的幫助
ko.applyBindings(viewModel1,document.getElementById('d1'));將綁定到外部div,並將兩個按鈕綁定到viewmodel1 – Anders
不能返回false;從第一次警報(模型2),以防止冒泡? – paul