IE9在Knockout中是否存在新的textInput绑定问题?

时间:2015-04-16 17:31:14

标签: knockout.js

根据文档, textInput提供来自DOM的即时更新,这意味着当用户键入时,值会实时更新。

在IE9中,我没有实时看到价值更新。我确实看到它更新了模糊,但即使这样它也很慢。另外,奇怪的是,使用退格时更新是即时的。

这是一个错误吗?

请在此处查看:http://jsfiddle.net/m2yfkyrk/

Hello <span data-bind="text: name"></span><br>
I said, HELLO <span data-bind="text: upper"></span>!<br>

<input type="text" data-bind="textInput: name">

function VM() {
    this.name = ko.observable("Homer");
    this.upper = ko.computed(function () {
        return this.name().toUpperCase();
    }, this);
}

ko.applyBindings(new VM());

2 个答案:

答案 0 :(得分:2)

在处理propertychange绑定使用的textInput事件时,IE9更新时似乎存在问题。解决方法是使用rateLimit

向observable添加延迟
this.name = ko.observable("Homer").extend({rateLimit:0});

http://jsfiddle.net/m2yfkyrk/1/

Knockout也有类似的问题:https://github.com/knockout/knockout/issues/1788

答案 1 :(得分:0)

这几乎肯定是您系统的问题。除了注意到这不是问题的评论者之外,IE9和这个特定绑定是Knockout发布测试的一部分。

除此之外,很难排除故障。尝试关闭浏览器扩展程序或更新。