1
我有一個外部div綁定到具有ProcessClick功能的視圖模型,並且在運行時的內部div綁定到不同的視圖模型,但具有相同的屬性點擊的功能名稱。出於某種原因,只有外部模型的函數在內部虛擬機的函數執行之前也會被調用。綁定內部div到具有相同屬性的不同knockoutJS視圖模型
標記:
<div id="max-outer">
<span data-bind="click: BindInner">Bind Inner</span>
<br/>
<br/>
<span data-bind="click: ProcessClick">Outer</span>
<div id="max-inner">
<span data-bind="click: ProcessClick">Inner</span>
<br/>
</div>
</div>
JS:
function InnderModel() {
self = this;
self.ProcessClick = function()
{
alert("Inner clicked");
};
}
function OuterModel() {
self = this;
self.ProcessClick = function(){
alert("Outer clicked");
};
self.BindInner = function() {
ko.cleanNode(document.getElementById("max-inner"));
ko.applyBindings(new InnderModel(), document.getElementById("max-inner"));
};
}
ko.applyBindings(new OuterModel(), document.getElementById("max-outer"));
這裏是一個小提琴: http://jsfiddle.net/mpavlov/H2ZnV/8/
的想法是,點擊綁定內和內跨度點擊只會顯示「內部點擊「警報,而不是兩個。這可以以某種方式實現嗎?