我正在尝试找到一种方法来更改所有元素上的click事件。我想做类似的事情,但我认为KO如何绑定它实际附加到元素的click事件,因此更改函数没有任何效果。
viewModel.clickEvent = function(item){
logic
}
viewModel.clickEvent = newFunction;
<div data-bind="click: clickeEvent">MyButton</div>
我认为我需要使用代表,但很难搞清楚如何做到这一点。任何人都可以发布一个如何用淘汰赛做这个的基本例子吗?
答案 0 :(得分:1)
如果我理解正确的话。您可以创建一个假的事件处理程序,您可以修改它而不修改绑定到视图的实际事件处理程序。
var viewModel = {
clickEvent : function(item){
if(this.changableClickEvent)
this.changableClickEvent(item);
},
changableClickEvent : null
}
viewModel.changableClickEvent = function(){
// logic
alert('logic');
}
ko.applyBindings(viewModel);
<强> See fiddle 强>