我正在研究angularjs。我在html页面上有一个按钮,在ng-click事件中,它将在控制器中调用一个函数来传递参数' event'。
< button ng-click="addStatus($event)"> ADD < /button>
现在在控制器中,对于addStatus函数,我传递了$ event参数。在addStatus函数中,对于event.target,我添加了一个名为&#39; added-status&#39;的类。
$scope.addStatus = function ($event){
$(event.target).addClass('added-status');
}
在Chrome上一切正常,但对于firefox,它会给出错误&#39;事件未定义&#39;。在mozilla firefox中可以做些什么呢? 谢谢!
答案 0 :(得分:1)
如果(!事件) {event = window.event;}
使用上述解决方案将此代码包含在控制器中,它将为Firefox定义事件,因为它不存在。
所以,最终的代码将是
if(!event){
event= window.event;
}
$scope.addStatus = function ($event){
$(event.target).addClass('added-status');
}
答案 1 :(得分:0)
实际上你在html部分的ng-click中传递了两个参数但是在控制器$scope.addStatus
函数中你只传递了一个参数,它是第一个参数。显然它是未定义的。
进行更改
在html中
<button ng-click="addStatus($event)"> ADD < /button>
在控制器中
$scope.addStatus = function (event){
$(event.target).addClass('added-status');
}