簡體   English   中英

Angularjs輸入場焦點事件?

[英]Angularjs input field focus event?

我使用angularjs,我創建了一個正常的輸入字段,如下所示:

<input type="text" style="border: none" ng-model="model" >

我想要做以下事情:

如果有人在輸入字段中單擊,我想要調用示例方法A.然后他在此字段中寫入文本,如果該人在頁面中的某處單擊以便輸入字段不再聚焦,則應調用方法B.這是可能的與angularjs? 如果是的話,我該怎么做? ng-focus僅在輸入事件處激活,但不在輸出處激活。

我希望鎖定一些東西,方法A只設置一個值為true,方法B將相同的值設置為false。 但我必須知道輸入字段何時處於活動狀態,何時不處於活動狀

你正在尋找ng-focusng-blur

<input type="text" style="border: none" ng-model="model" ng-focus="A()" ng-blur="B()">

另外,使用css類而不是內聯樣式.. :)

或者只是用參數調用相同的方法並設置值acc: -

 <input type="text" style="border: none" ng-model="model" ng-focus="A(true)" ng-blur="A(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM