我有一个teleerik网格,当用户双击一行时,我使用它向服务器发送帖子。它似乎工作得很好,直到我在代码中放置了一个警报,并注意到一些奇怪的行为。当我第一次双击一行时,警报会出现两次,并继续显示两倍于我单击的次数。我的意思是,它第一次出现了两次,第二次出现了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");
}
});
});
}
}
Live附加一个事件处理程序。您需要一个事件处理程序,因此应该只调用live()方法一次。对于您的代码,这意味着DisplayStudent()应该只被调用一次。
如果DisplayStudent()被调用n次,你将有附加的n个事件处理程序,每一个提醒你当你点击