Angularjs 将多次单击绑定到$document是否存在任何问题?

Angularjs 将多次单击绑定到$document是否存在任何问题?,angularjs,Angularjs,我正在创建一个单页应用程序,在不同的区域有很多工具提示和弹出窗口。我通过检查单击发生的位置来关闭这些元素。对于exmaple,例如: $scope.popup1 = { open: function(){ $scope.popup1Open = true; $timeout(function(){ $document.bind('click',function(e){ if(!angular.e

我正在创建一个单页应用程序,在不同的区域有很多工具提示和弹出窗口。我通过检查单击发生的位置来关闭这些元素。对于exmaple,例如:

$scope.popup1 = {
    open: function(){

        $scope.popup1Open = true;


        $timeout(function(){
            $document.bind('click',function(e){
                if(!angular.element('#popup1-container').find(e.target).length) {
                // if in directive, ill use: $elem.find(e.target).length

                    $timeout(function(){
                        $scope.popup1.close();
                        $scope.$apply();
                    });
                }
            });   

        });

    },

    close: function () {
        $scope.popup1Open = false;
    }
}
现在就像我说的,我有多个弹出窗口,可以在页面的不同区域打开。它们都有自己的ID,有些在自己的指令中。因此,每次打开弹出窗口时,我都会创建
$document.bind('click')
,我不想麻烦解除它的绑定,因为它会a)影响其他弹出窗口,而且对于非常关键的区域,弹出窗口会被多次访问


因此,我的问题是,我正在做的事情是否会出现性能问题?

可以解除特定事件处理程序的绑定:@tasseKATT我知道,但有时会打开多个弹出窗口并相互协作,如果我在其中一个关闭后解除单击的绑定,则其他两个不会关闭。