0

我需要像绑定一样进行自定义value绑定。这是我的代码:

ko.bindingHandlers.myValue= {
    init: function(element, valueAccessor) {
        $(element).change(function() {
            var value = valueAccessor();
            value($(this).val());
        });
    },
    update: function(element, valueAccessor) {
        var value = valueAccessor();

        $(element).val(ko.utils.unwrapObservable(value))
    }
};

现在,如果我改变了 observable 的值,update将被调用并且元素的值将被改变,因此将执行change中描述的回调。 它将改变,所以回调将被调用,依此类推。我对吗? init
valueupdate

如果是,我该如何防止这种递归?
如果不是,为什么?

4

1 回答 1

3

您的代码不应导致递归情况;该.val方法不会触发.change事件。

在此处查看使用您的代码的示例:http: //jsfiddle.net/CCNtR/13/

于 2013-02-17T20:08:53.120 回答