0

我有一个 Telerik 网格,当用户双击一行时,我用它来向服务器发布帖子。它似乎工作正常,直到我在代码中发出警报并注意到一些奇怪的行为。当我第一次双击一行时,警报会出现两次,并继续显示我单击次数的两倍。我的意思是 - 第一次出现两次,第二次出现 4 次,第三次出现 6 次,然后继续。下面是我用来调用网格的脚本。

function DisplayStudent(e) {
    if (IsStudentGradeAvailable == "True") {
        $('tr', this).live('dblclick', function () {
            var row = e.row;
            var StudentId= row.cells[0].innerHTML;
            var StudentGrade= row.cells[1].innerHTML;
            var data = { "StudentId= ": StudentId= , "StudentGrade": StudentGrade };
            var url = '@Url.Action("Student", "StudentGrade")';
            $.ajax({
                url: url,
                type: 'post',
                dataType: 'text',
                data: data,
                success: function (data) {
                    alert("Success");
                },
                error: function (error) {
                    alert("Error");
                }

            });
        });
    }
}
4

1 回答 1

0

Live 附加一个事件处理程序。您需要一个事件处理程序,因此您应该只调用一次 live() 方法。给定您的代码,这意味着 DisplayStudent() 应该只被调用一次。

如果 DisplayStudent() 被调用 n 次,您将附加 n 个事件处理程序,每个事件处理程序都会在您单击时提醒您。

于 2013-06-18T23:30:54.623 回答