javascript - angular应用内的input在设置了maxlength的情况下输满后选中会无法修改
PHP中文网
PHP中文网 2017-04-11 10:58:10
[JavaScript讨论组]

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

请问这个怎么解决呢?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
怪我咯
'use strict';
export default function () {
  return {
    restrict: 'A',
    link: function ($scope, $element, $attributes) {

      var limit = $attributes.maxlength;
      $element.bind('keyup', function (event) {
        var element = $($element).closest('.form-group');

        element.toggleClass('has-warning', limit - $element.val().length <= 10);
        element.toggleClass('has-error', $element.val().length >= limit);
      });

      $element.bind('keypress', function (event) {
        // Once the limit has been met or exceeded, prevent all keypresses from working
        if ($element.val().length >= limit) {
          // Except backspace
          if (event.keyCode !== 8) {
            event.preventDefault();
          }
        }
      });
    }
  };
}

谢谢大家的帮助。

经过反复排查,发现是一个第三方指令将maxlength重新定义了。。

巴扎黑

试着绑定下ng-model

怪我咯

应该不会出现这样的问题呀,在线示例,试试第一个input

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号