0

所以我们都知道return true手动将允许对具有绑定的元素进行默认单击操作click,但是如果我有如下自定义绑定怎么办:

ko.bindingHandlers.action = {
    init: function(element, valueAccessor, allBindingsAccessor, context) {
        var options = valueAccessor();
        var params = options.slice(1);

        //wrap it in function, with parameter binding
        var newValueAccessor = function() {
            return function() {
                options[0].apply(context, params);
            };
        };

        ko.bindingHandlers.click.init(element, newValueAccessor, allBindingsAccessor, context);
    }
};

从绑定中获取 N 个参数:

action: [handle, 'open', $index()]

如何允许点击通过?return true在这种情况下inhandle不起作用。

4

1 回答 1

2

您的实际点击处理程序在此处定义:

        return function() {
            options[0].apply(context, params);
        };

只需更改它,使其返回提供的子处理程序的值:

        return function() {
            return options[0].apply(context, params);
        };
于 2013-02-28T00:08:41.063 回答