1
私はアプリケーション内のすべてのinput
でフォーカスイベントを監視したいと思っています。このようなAngularJSはすべての入力フォーカスを監視します
何か:
$scope.$watch('input',function(e){
if(e.focus){
// do stuff
}
});
これを行うことができますどのように任意のアイデア?
私はアプリケーション内のすべてのinput
でフォーカスイベントを監視したいと思っています。このようなAngularJSはすべての入力フォーカスを監視します
何か:
$scope.$watch('input',function(e){
if(e.focus){
// do stuff
}
});
これを行うことができますどのように任意のアイデア?
あなたはイベントを見ないでください。あなたはそれを聞きます。また、DOMを混乱させることは、指令の仕事です。したがって、この回答では、ディレクティブ・アプローチを使用します。あなたはイベントを出すことも、すべての「もの」を内部的に行うこともできます。
angular.module('app', [])
.directive('input', function() {
return {
restrict: 'E',
link: Link
};
function Link(scope, elem, attrs) {
elem.on('focus', function() {
// do stuff
console.log(elem[0].name + ' has been focused!');
});
}
});
<div ng-app="app">
<label for="input1">input1</label>
<input name="input1" type="text">
<label for="input2">input2</label>
<input name="input2" type="text">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
完璧!これはまさに私が探していたものです。 – Matt
あなたはinput要素またはスコープ変数のウォッチを設定していますか? – HARI