这是我的数据绑定
<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);
});
此致
答案 0 :(得分:2)
我知道这是一个旧帖子,但是如果其他人遇到这个我今天遇到了类似的问题,发现还有另一个用于文本输入的ko绑定名为textInput。我建议改用它。 textInput绑定立即更新,并在IE11中正常工作。
http://knockoutjs.com/documentation/textinput-binding.html
<input type="text" data-bind="textInput: name" />
此外,jQuery有一个很好的数字输入数字插件。