Javascript 在Firefox中使用JQuery动画删除表行
我有一个使用jquerydatatables()的HTML表。使用html链接呈现行以删除行。我使用了以下代码来处理link的click事件,删除服务器上的行,然后在前端设置删除行的动画Javascript 在Firefox中使用JQuery动画删除表行,javascript,jquery,html,firefox,datatables,Javascript,Jquery,Html,Firefox,Datatables,我有一个使用jquerydatatables()的HTML表。使用html链接呈现行以删除行。我使用了以下代码来处理link的click事件,删除服务器上的行,然后在前端设置删除行的动画 $(document).on("click", ".delete-operation", function (e) { e.preventDefault(); var oTable = $('#alloperations').dataTable(); var op
$(document).on("click", ".delete-operation", function (e) {
e.preventDefault();
var oTable = $('#alloperations').dataTable();
var operationId = $(this).data('id');
// Get the parent table row and mark it as having been selected
// due to the fact rowindex does not work in order in datatables
var tableRow = $(e.toElement).parents('tr').addClass('row_selected');
bootbox.confirm("Are you sure?", function (answer) {
if (answer) {
// send request to delete operation with given id.
$.ajax({
type: 'delete',
url: "/operations/" + operationId,
success: function () {
var anSelected = fnGetSelected(oTable);
//Get all the row cells and animate a deletion
tableRow.children().animate({ backgroundColor: "red", color: "black" }, 300, function() {
tableRow.fadeOut(2000, function() {
oTable.fnDeleteRow(anSelected[0]);
});
});
},
error: function(result) {
$("#messageContainer").html(result.responseJSON.ResponseView);
}
});
return true;
}
else {
// User clicked cancel
return true;
}
});
});
问题:这在Chrome中非常有效,但在Firefox中根本不起作用,有人知道我如何让它在Firefox中也起作用吗?您应该使用事件对象的跨浏览器属性“target”:
var tableRow = $(e.target).parents('tr').addClass('row_selected');
FF控制台中有错误吗?我认为e.toElement在FF下返回未定义。你能帮我检查一下吗?试试看:
var tableRow=$(e.target)。parents('tr')。addClass('row_selected')代码>谢谢A.沃尔夫完美地解决了这个问题。你想把它作为回应而不是评论,我可以把它归功于你吗?