[英]Angularjs input field focus event?
我使用angularjs,我創建了一個正常的輸入字段,如下所示:
<input type="text" style="border: none" ng-model="model" >
我想要做以下事情:
如果有人在輸入字段中單擊,我想要調用示例方法A.然后他在此字段中寫入文本,如果該人在頁面中的某處單擊以便輸入字段不再聚焦,則應調用方法B.這是可能的與angularjs? 如果是的話,我該怎么做? ng-focus僅在輸入事件處激活,但不在輸出處激活。
我希望鎖定一些東西,方法A只設置一個值為true,方法B將相同的值設置為false。 但我必須知道輸入字段何時處於活動狀態,何時不處於活動狀
如果您正在使用可能希望應用於整個應用程序中的字段的功能,則可以將其放入指令中。 這是一個根據字段的焦點或模糊添加和刪除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);
});
}
};
});
您可以將方法B綁定到angular的ng-blur指令,以檢測輸入何時失去焦點
<input type='text' ng-focus='methodA()' ng-blur='methodB()' ng-model='model'>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.