更新:您避免自定義綁定加入clickBubble: false
作爲附加與click
結合結合由凱文·Obee利用的建議,並在此示例中證明:http://jsfiddle.net/kevinobee/Q25ja/2/
原文:你可以使用包裝click
綁定的自定義綁定並防止發生其他事件。它可能看起來像:
ko.bindingHandlers.clickAndStop = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel, context) {
var handler = ko.utils.unwrapObservable(valueAccessor()),
newValueAccessor = function() {
return function(data, event) {
handler.call(viewModel, data, event);
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
};
};
ko.bindingHandlers.click.init(element, newValueAccessor, allBindingsAccessor, viewModel, context);
}
};
這裏有一個例子:http://jsfiddle.net/rniemeyer/xj7Hs/
+1的最佳解決方案! – 2012-01-17 01:00:18
這是一個非常方便的解決方案。 – 2014-09-15 13:57:37