我有一个用户表,我有一个从数据库中删除用户的链接。有时它工作正常,但有时当我确认删除时它会冻结,我必须按“Esc”按钮才能使确认窗口消失。我使用 "$(document).on('click', function()" 因为我通过 jquery 添加用户,如果我使用 "$(document).ready(function()" 新添加的用户不会删除。可以请检查此脚本是否有错误并告诉我是脚本问题还是其他问题?可能有改进的方法吗?
脚本
$(document).on('click', function() {
$("a:contains('Delete')").click(function(event) {
if(confirm("Are you sure ?")){
$.ajax({
url: $(event.target).attr("href"),
type: "DELETE",
beforeSend: function(xhr) {
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
},
success: function() {
var tr = $(event.target).closest("tr");
tr.css("background-color","#000000");
tr.fadeIn(1000).fadeOut(200, function(){
tr.remove();})
}
});
} else {
event.preventDefault();
}
event.preventDefault();
});
});
带有删除链接的表格单元格
<a href="/delete/${user.login}.json">Delete</a>
更新:我已经这样改变了
脚本
function Delete(event){
if(confirm("Are you sure ?")){
$.ajax({
url: $(event.target).attr("href"),
type: "GET",
beforeSend: function(xhr) {
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
},
success: function() {
var tr = $(event.target).closest("tr");
tr.css("background-color","#000000");
tr.fadeIn(1000).fadeOut(200, function(){
tr.remove();})
}
});
} else {
event.preventDefault();
}
event.preventDefault();
};
关联
<a href="/delete/${user.login}.json" onclick="Delete()">Delete</a>
但是现在我卡在一个空白页面上,其中包含我的值的 url href
,但是用户被删除了。