Я пытаюсь выполнить следующие функции. Покажите количество символов, оставшихся в текстовом поле, и запретите вводить что-либо еще, если вы уже превысили максимальное число.Не допускайте ввода текста в текстовом поле, если у него слишком много символов.
Я смущен тем, как достичь этого. Теперь у меня есть something like this:
<textarea data-bind="textInput: message"></textarea>
<p>Characters left : <span data-bind="text: charLeft"></span></p>
function Vm_app() {
var self = this;
this.message = ko.observable('');
this.charLeft = ko.pureComputed(function(){
return 128 - self.message().length;
});
}
ko.applyBindings(new Vm_app());
Любой идея, как я должен поступить?
P.S. Я знаю, как достичь задачи с прослушиванием событий, но я не хочу нарушать парадигму MVVM.
P.S.2 связанный ответ не позволяет продолжить добавление текста после его отключения. Я хочу только запретить писать новые символы (человек сможет щелкнуть delete, backspace).
Приведен пример одного из них. http://jsfiddle.net/3uhNP/1/ – KRUKUSA
@ KRUKUSA спасибо. Я знаю, как добиться этого, слушая события, но это нарушает парадигму MVVM. –
Вам лучше не пытаться ограничить количество символов, но вместо этого применять длину при отправке. –