KO绑定在IE10和IE11中不起作用

时间:2015-06-10 06:35:19

标签: knockout.js internet-explorer-10 internet-explorer-11

这是我的数据绑定

<input type='text' data-bind="value: duration" id="duration" />

我有自定义的JavaScript代码,以防止用户提交非数字文本&#34; duration&#34;在持续时间字段的keyup事件中触发。 这在chrome,firefox和IE9中运行良好。但不适用于IE10和IE11

这是我的剧本

$(document).on('keyup', '#duration', function () {
        var textvalue = this.value.replace(/[^0-9\.]/g, '');
        this.value = !textvalue ? '' : parseInt(textvalue, 10);
    });

此致

1 个答案:

答案 0 :(得分:2)

我知道这是一个旧帖子,但是如果其他人遇到这个我今天遇到了类似的问题,发现还有另一个用于文本输入的ko绑定名为textInput。我建议改用它。 textInput绑定立即更新,并在IE11中正常工作。

http://knockoutjs.com/documentation/textinput-binding.html

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

此外,jQuery有一个很好的数字输入数字插件。

https://www.nuget.org/packages/jQuery.Numeric/