binding-completed
我想为我的应用程序中的每个文本框(输入)实现一个事件。
在这里,我试图在某些情况下添加一个 CSS 类onblur
。没关系。但是在将某些模型绑定到文本框后,我不想执行相同的功能。
var app = angular.module("main", []);
var MainController = function($scope, $http) {
$scope.message = "CSS Change";
};
app.directive('floatBox', ['$document', '$timeout', '$rootScope', function($document, $timeout, $rootScope) {
return {
restrict: 'A',
scope: true,
link: function(scope, element, attr) {
//this is not for validation, this is just a sample for what I want to do.
//Please don't suggest Angular validations.
element.on('blur', function(event) {
changeCSSClass(element);
});
function changeCSSClass(element) {
if (element.val().length == 0) {
element.addClass('red');
element.removeClass('green');
} else {
element.addClass('green');
element.removeClass('red');
}
}
}
};
}]);
HTML:
<div ng-controller="MainController">
<input float-box type="text" ng-model="message">
</div>
CSS:
.red {
border: 5px solid red;
}
.green {
border: 5px solid green;
}
我想在changeCSSClass
我的文本框出现一些值之后调用。
请使用 pluk 进行快速编辑:http ://plnkr.co/edit/NTjcV4KDHRVZasoCJz6l?p=preview
基本问题:
当我blur
从文本框中事件工作正常。但我想在初始加载本身中显示颜色,即在将模式绑定message
到文本框之后。这样我将获得文本框的长度,并在此基础上设置 css 类
我不想在所有文本框中使用ng-class并使用范围,而是需要一个通用的实现。