当我将当前元素绑定到knockout中的多个动作时,我正在做的是:
data-bind="event: { click: doAction,
touchend : doAction}"
我的问题是: 绑定到操作时是否可以使用某种快捷符号?
我希望有类似的东西:
data-bind="event: {click, touchend : doAction}"
答案 0 :(得分:5)
没有内置的快捷方式可以执行此操作,但使用自定义绑定非常容易使data-bind
更清晰。
您可以采取几种方法。一个特定于click和touchend的解决方案是:
ko.bindingHandlers.clickAndTouch = {
init: function(element, valueAccessor, allBindingsAccessor, data) {
var action = valueAccessor(),
newValueAccessor = function() {
return {
click: action,
touchend: action
}
};
ko.bindingHandlers.event.init.call(this, element, newValueAccessor, allBindingsAccessor, data);
}
};
然后,你会像它一样绑定它:
data-bind="clickAndTouch: doAction"
答案 1 :(得分:1)
由于至少Knockout 2.1.0(它仍然适用于3.4.2)可以使用:
data-bind="event: {'click touchend': doAction}"