javascript - 多事件绑定(bind)快捷方式

标签 javascript data-binding knockout.js dom-events

在将相同元素绑定(bind)到 knockout 中的多个操作时,我目前正在做的是:

data-bind="event: { click: doAction,
                    touchend : doAction}"

我的问题是:
绑定(bind)到操作时是否可以使用某种快捷符号?

我希望是这样的:

data-bind="event: {click, touchend : doAction}"

最佳答案

没有内置的快捷方式来执行此操作,但使用自定义绑定(bind)非常容易使您的 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);      
    }        
};

然后,你会像这样绑定(bind)它:

data-bind="clickAndTouch: doAction"

关于javascript - 多事件绑定(bind)快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10429994/

相关文章:

android - DataBindingComponents 如何在每个布局的基础上工作?

直接绑定(bind)到带转换器的 DataContext 时 WPF 更新绑定(bind)

javascript - AngularJS,附加到 $scope 的对象不会绑定(bind)到 html 元素

html - 选中单选按钮时显示不同的背景 css 和 knockout

jquery-ui - KnockoutJS 未捕获 jQuery UI 日期选择器更改事件

javascript - if-else 条件在 Javascript 中无法正确执行

javascript - 机器人不等待 react 或消息

javascript - Knockout JS - Promise 递归

javascript - 可调整大小的容器对我不起作用

javascript - 在 Javascript 中填充数组