0
我使用兩個模塊構建時間選擇指令。問題是在指令模板中的某些塊上捕獲目標事件。 指令模板:
<div class='time-picker-container'>
<div class='block1' ng-click='show()'>1</div>
<div class='block2' ng-show='selectVisible'>2</div>
</div>
JS:
scope.selectVisible = false;
scope.show = function() {
scope.selectVisible = scope.selectVisible ? false : true;
}
$rootScope.$on('documentClicked', function(inner, target) {
//try to hide div.block2 if user make click outside block.
});
基本思想:當用戶使點擊文件,外面div.block2,塊消失。當用戶點擊一些內部div.block2塊保持可見時。
上運行的功能:
angular.element(document).on('click', function(e) {
$rootScope.$broadcast('documentClicked', angular.element(e.target));
});
「documentClicked」是否已經有廣播?有助於讓該事件對象與 – charlietfl
一起工作,在運行功能上。我編輯了帖子。 –