gpt4 book ai didi

javascript - 在我的案例中如何检测点击和操作元素

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:26 26 4
gpt4 key购买 nike

当用户点击页面中的任意位置时,我正在尝试检测文档点击。我还想防止点击 div 触发文档点击。

我有类似的东西

//Directive for page click
angular.module('myApp').directive('documentClick', ['$rootScope',
function($rootScope) {
return function(scope, element, attrs) {
element.bind('click', function(e){
$rootScope.$broadcast('pageClick');
})
}
}]);

controller JS

//within a controller
$scope.toggleDiv = function() {
$scope.openDiv = !$scope.OpenDiv;
}

$scope.$on('pageClick', function($event) {
$scope.openDiv = false;
})

html
<body document-click>
<div ng-controller = 'ctrl'>
<div id='testDiv'>
<div id='childDiv' ng-click="toggleDiv()">
toggle div here
</div>
</div>
</div>
</body>

我不想在单击“childDiv”时触发 $scoep.openDiv = false。我只想在单击页面中的任意位置时触发 $scope.openDiv = false

Angular 方法可以做到这一点吗?

谢谢!

最佳答案

您可以传递事件 e 并检查 target.id:

$rootScope.$broadcast('pageClick', e);

$scope.$on('pageClick', function($event, e) {
if(e.target.id !== 'childDiv')
$scope.openDiv = false;
})

关于javascript - 在我的案例中如何检测点击和操作元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26027976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com