AngularJS:错误:事件未定义(仅限Firefox)

AngularJS:错误:事件未定义(仅限Firefox),angularjs,events,Angularjs,Events,即使我定义了这个事件,并且它在Chrome中工作,但在Firefox中却不工作 app.controller('lightbox_close_controller', ['$scope', '$rootScope', function($scope, $rootScope) { $scope.close_rating_lightbox = function(event) { if (!$(".lightbox").hasClass("mobile_ra

即使我定义了这个事件,并且它在Chrome中工作,但在Firefox中却不工作

app.controller('lightbox_close_controller', ['$scope', '$rootScope', function($scope, $rootScope) {

        $scope.close_rating_lightbox = function(event) {

            if (!$(".lightbox").hasClass("mobile_ratebox")) {
                event.stopPropagation();
                $("#image_in_lightbox_inside").empty();
            }
        }
    }

]);

从ui传递
$event

点击我

我发现,如果忘记在事件处理程序中添加事件参数,也会出现此错误,即

onClicked(event){
}

与Angular 2中的问题相同,firefox在事件声明方面更加严格

//in chrom works fine  
//in firefox throws event is undefined
     @HostListener('click') onClick() {
         console.info(event);
    }



// to fix it you have to add
     @HostListener('click', ['$event']) onClick(event) {
     console.log(event)
    } 

它应该是$event在这里,并通过在您的html以及显示相关的HTMLTank相同的,它的工作。还有一个问题。即使我传递$event,在函数中我也可以调用event。为什么它在没有$符号的情况下工作?事件属性被angular$event覆盖,因此您的代码不能像window to be$window、setTimeout be$timeoutfunction仅传递值或引用一样工作。如果函数有参数,则值或引用将根据传递数据的位置传递到该参数中。在过去的一个小时里,我的头一直撞在墙上。
//in chrom works fine  
//in firefox throws event is undefined
     @HostListener('click') onClick() {
         console.info(event);
    }



// to fix it you have to add
     @HostListener('click', ['$event']) onClick(event) {
     console.log(event)
    }