猿问

angular应用内的input在设置了maxlength的情况下输满后选中会无法修改

<div ng-app>
    <input type="text" maxlength="7" ng-model="model" />
</div>

问题是这样的,angular应用中的一个input,最大输入长度为7,输满7位后,选中其中某几位或全部选中,再进行输入会没有任何反应,输不进去。。

请问这个怎么解决呢?


紫衣仙女
浏览 1206回答 1
1回答

凤凰求蛊

'use strict';export default function () {&nbsp; return {&nbsp; &nbsp; restrict: 'A',&nbsp; &nbsp; link: function ($scope, $element, $attributes) {&nbsp; &nbsp; &nbsp; var limit = $attributes.maxlength;&nbsp; &nbsp; &nbsp; $element.bind('keyup', function (event) {&nbsp; &nbsp; &nbsp; &nbsp; var element = $($element).closest('.form-group');&nbsp; &nbsp; &nbsp; &nbsp; element.toggleClass('has-warning', limit - $element.val().length <= 10);&nbsp; &nbsp; &nbsp; &nbsp; element.toggleClass('has-error', $element.val().length >= limit);&nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; $element.bind('keypress', function (event) {&nbsp; &nbsp; &nbsp; &nbsp; // Once the limit has been met or exceeded, prevent all keypresses from working&nbsp; &nbsp; &nbsp; &nbsp; if ($element.val().length >= limit) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Except backspace&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (event.keyCode !== 8) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; event.preventDefault();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; }&nbsp; };}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答