2014-02-14 97 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來顯示它的工作