1
この私のコードですAngularJs Onlyを使用して要素の外側をクリックすると、要素を閉じる方法は?上記のコードで
$scope.searchHide = function() {
$scope.selectMenuSetting = "SearchPanel";
$scope.secondPanelShow = !$scope.secondPanelShow;
$scope.secondColumn = false;
};
$scope.showSearchPopUp = function() {
$scope.selectMenuSetting = "SearchPopUp";
$scope.secondColumn = !$scope.secondColumn;
$scope.secondPanelShow = false;
};
<div class="tab-panel">
<a href="" class="second-panel-search" click-anywhere-but-here ng-click="searchHide()"><i class="nc-icon-mini ui-1_zoom" ng-class="{'active': selectMenuSetting === 'SearchPanel'}"></i></a>
<a href="" class="second-panel-search" click-anywhere-but-here ng-click="showSearchPopUp()"><i class="nc-icon-mini ui-3_select" ng-class="{'active': selectMenuSetting === 'SearchPopUp'}"></i></a>
</div>
<div class="second-search-hide-panel padt5" ng-if="secondPanelShow">
<div class="second-search-input ">
<input type="text" placeholder="text" ng-model="searchText" ng-change="refreshData(searchText)"><i class="nc-icon-mini ui-1_zoom active"></i>
</div>
</div>
<div class="second-search-hide-panel" ng-if="secondColumn">
<div class="second-search-input" ng-if="showObjectTypes">
<div class="second-search-input">
<label class="control-label">Type</label>
<select class="form-control" ng-model="objectType" ng-change="callingGetData(objectType)">
<option value="major">Major Objects</option>
<option value="support">Supporting Objects</option>
<option value="lookup">LookUp Objects</option>
</select>
\t </div>
</div>
</div>
2個のアンカータグが含まれています。最初のアンカータグ表示検索テキストフィールドをクリックすると、2番目のアンカータグ表示ドロップダウンをクリックすると、しかし、要素の外側をクリックすると、jQueryを使わずにAngularJSを使ってアンカータグを隠したいと思っています。
...、要素のNG-ぼかしディレクティブを必要とします。 私の解決策は、本文に属性(除外)を追加してから私の要素に追加することでした。クリック要素の上に除外属性があるかどうか確認しています – IsraGab
フォーカスを失うと何かを実行したいのですか?これはng-blurというものです。 – Walfrat