use*_*378 33 html javascript angularjs angularjs-directive
我使用angularjs,我创建了一个正常的输入字段,如下所示:
<input type="text" style="border: none" ng-model="model" >
Run Code Online (Sandbox Code Playgroud)
我想要做以下事情:
如果有人在输入字段中单击,我想调用示例方法A.然后他在此字段中写入文本,如果该人在页面中的某处单击以便输入字段不再聚焦,则应调用方法B.这是可能的与angularjs?如果是的话,我该怎么做?ng-focus仅在输入事件处激活,但不在输出处激活.
我希望锁定一些东西,方法A只设置一个值为true,方法B将相同的值设置为false.但我必须知道输入字段何时处于活动状态,何时不处于活动状
PSL*_*PSL 51
<input type="text" style="border: none" ng-model="model" ng-focus="A()" ng-blur="B()">
Run Code Online (Sandbox Code Playgroud)
另外,使用css类而不是内联样式.. :)
或者只是用参数调用相同的方法并设置值acc: -
<input type="text" style="border: none" ng-model="model" ng-focus="A(true)" ng-blur="A(false)">
Run Code Online (Sandbox Code Playgroud)
如果您正在使用可能希望应用于整个应用程序中的字段的功能,则可以将其放入指令中.这是一个根据字段的焦点或模糊添加和删除css类的示例:
angular.module('myApp').directive('inputFocus', function () {
var FOCUS_CLASS = 'input-focused';
return {
restrict: 'A',
priority: 1,
require: 'ngModel',
link: function (scope, element, attrs, ctrl) {
element.bind('focus',function () {
element.parent().addClass(FOCUS_CLASS);
}).bind('blur', function () {
element.parent().removeClass(FOCUS_CLASS);
});
}
};
});
Run Code Online (Sandbox Code Playgroud)