在angularjs1.5中如何限制有contenteditable属性的div输入字数的多少

页面上通过遍历生成多个<div contenteditable="true" maxlength="10"></div>,此div是为了取代textarea,目的是实现一个随内容变化自动调整高度的输入框,现在想要实现控制div输入框中所输入字数的多少,试了很多方法,学艺不精,都没能解决,求大神指导!
下面是照着官网系的一个自定义指令,但是无效,超出了字数之后还是能输入内容。
.directive('contenteditable', function() {

    return {
        restrict: 'A',
        require: '?ngModel',
        link: function(scope, element, attrs, ctrl) {
            if (!ctrl) {
                return;
            }
            var maxlength = -1;
            attrs.$observe('maxlength', function(value) {
                var intVal = parseInt(value);
                maxlength = isNaN(intVal) ? -1 : intVal;
                ctrl.$validate();
            });
            ctrl.$validators.maxlength = function(modelValue, viewValue) {
                return (maxlength < 0) || ctrl.$isEmpty(viewValue) || (viewValue.length <= maxlength);
            };
        }
    }
})
阅读 2.8k
1 个回答

你忘记div是没有ng-model的哦
只能在以下标签中用

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题