2014-02-14 49 views
0

我试图要求用户确认时,点击一些与knockoutjs绑定(通过数据绑定=“点击:..)与knockoutjs点击预处理

我发现了一些命名的预处理,但我没有。使其工作 这是我的工作不解决

ko.bindingHandlers.click.preprocess = function(val) { 
    confirm("Are you sure do you want to click that?"); 
} 

链接:JSFiddle

PS看一看例如NR 2这个LINK

回答

1

对于呼叫功能,您添加到data-bind="click: ..."约束力和执行任何其他代码,你可以使用这样的事情:

ko.bindingHandlers.click.preprocess = function (value) { 
    return 'function() { console.log("Preprocess Click!"); ' + value + '(); }' 
}; 

所有通过preprocess返回粘贴到data-bind="click: ...",所以如果你在编写data-bind="click: Click"之后将预处理转换为:data-bind="click: function() { console.log('Preprocess Click!'); Click(); }"

0

您没有遵循正确的例子,请注意,示例返回一个函数作为一个字符串:

ko.bindingHandlers.click.preprocess = function(val) { 
    return 'function(){ console.log(123); }' 
} 

我已经编辑好Fiddle来显示它的工作