请考虑这个 jsfiddle。它包含以下内容:
<textarea data-bind="value: comment, valueUpdate: 'afterkyedown'"></textarea>
<br/><br/>
<span data-bind="text: getCount, valueUpdate: ['afterkeydown','propertychange','input']"></span> characters???
而这个JavaScript:
var viewModel = function(){
var self = this;
self.count = ko.observable(0);
self.comment = ko.observable("");
self.getCount = function(){
var countNum = 10 - self.comment().length;
self.count(countNum);
};
}
var viewModel12 = new viewModel();
ko.applyBindings(viewModel);
我有一个最大长度应为 20 个字符的文本区域。当字符数达到 20 时,将停止,如果您尝试添加更多字符,它们将被删除。
请注意,这也适用于复制/粘贴:如果用户粘贴超过 20 个字符,则只有前 20 个字符会保留,其余的应删除。