敲击绑定在键入时起作用,但在条形码时不起作用

时间:2014-10-23 19:07:14

标签: knockout.js barcode bindinghandlers

我有一个适用于Keyup的自定义Binding,当用户手动输入数据时,valueAccessor()。call工作正常并输入所需的下一个函数。但是,当我们对相同的数据进行条形码编码并发送相同的返回键时,(我已经检查过两个方法发送的最后一个keyCode是13),valueAccessor没有进入下一个函数并退出。

我怀疑这可能与条形码数据输入字段的速度和随后的“输入”键有关。减慢条形码字符输入的速度会有帮助吗?如果是这样,你建议采用什么方法?

ko.bindingHandlers.enterKey = {
init: function (element, valueAccessor, allBindings, vm) {
    ko.utils.registerEventHandler(element, "keyup", function (event)
    {
        if (event.keyCode === 13)  {
            ko.utils.triggerEvent(element, "change");
            valueAccessor().call(vm, vm); 

        }

        return true;
     }
    );
}

1 个答案:

答案 0 :(得分:0)

感谢您的帮助。事实证明,VM中存在一个名不一致的变量。