我如何在Firefox中使用Angularjs中的事件,因为它表示事件未定义? [英] How do I use event in Angularjs with firefox as it's saying that event is undefined?

查看:716
本文介绍了我如何在Firefox中使用Angularjs中的事件,因为它表示事件未定义?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的Angular函数,当您双击必填字段,更改其值并按Enter时,该函数基本上会更新数据:

Here's my Angular function which basically updates data when you double-click on the required field, change it's value and press enter:

 $scope.contentEdit = function(data, event) {
    console.log("event", event); //this function triggers when the user edit student's data from the table and updates new data to local storage.
    for (var i = 0; i < $scope.students.length; i++) {
        if ($scope.students[i].studentName == data) {
            $scope.students[i].studentName = event.target.innerText;
        } else if ($scope.students[i].Marks == data) {
            $scope.students[i].Marks = parseInt(event.target.innerText);
            $scope.students[i].pass = ($scope.students[i].Marks > 65) ? true : false;
        }
    }
    localStorage.setItem('studentsList', JSON.stringify($scope.students));
    event.target.contentEditable = event.target.contentEditable == "false" ? "true" : "false";
};

我已经从html传递了$ event作为contentEdit(student.studentName,$ event),但它仍然无法正常工作.每当我双击该字段时,它都会在控制台上成功记录双击事件,但是一旦我按下Enter键,就会抛出并错误地显示该事件未定义.

I have passed $event from my html as contentEdit(student.studentName, $event) but it still doesn't work. Whenever I double click on the field then it's logging the double click event successfully on console but as soon as I hit Enter key, It's throwing and error that event is undefined.

推荐答案

您是否使用 ng-dblclick 指令?如果是,我想您有语法错误.

Do you use a ng-dblclick directive? If yes, I suppose you has a syntax error.

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.contentEdit = function(data, event) {
        console.log(event);
    };
});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
    <div ng-dblclick="contentEdit(1, $event)">dblclick me to see the console</div>
</div>

这篇关于我如何在Firefox中使用Angularjs中的事件,因为它表示事件未定义?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆