2015-10-28 23 views
2

我对angularjs工作不工作。我有html页面上的按钮,在NG-click事件,它会调用在控制器传递参数“事件”的功能。

< button ng-click="addStatus($event)"> ADD < /button>  

现在在一个控制器中,对于addStatus函数,我传递$ event参数。在addStatus功能,event.target我加入了一个名为“添加状态”级。

$scope.addStatus = function ($event){ 

    $(event.target).addClass('added-status'); 
} 

一切工作正常在Chrome上,但为Firefox提供一个错误'事件没有定义'。在Mozilla Firefox中怎样才能做到这一点呢? 谢谢!

回答

0

其实你在HTML部分的NG-点击传递两个参数但是在控制器$scope.addStatus功能,你只传递一个参数,那就是在第一第二个参数。显然它是不确定的。

做的修改

在HTML

<button ng-click="addStatus($event)"> ADD < /button> 

在控制器

$scope.addStatus = function (event){ 
    $(event.target).addClass('added-status'); 
} 
+0

我删除了第一个参数,并在控制器甚至$签收事件,但它仍然没有工作! Firefox给出相同的错误:'事件未定义'。 – ManjiM

1

如果(事件!) {事件= window.event;}

包含这些代码在具有上述解决方案的控制器中,它将为Firefox定义事件,因为事实并非如此那里。

所以,最终的代码将

if(!event){ 
    event= window.event; 
} 
$scope.addStatus = function ($event){ 
    $(event.target).addClass('added-status'); 
}