我有多個jquery委託函數從列表中刪除項目。它們第一次正常工作,但似乎停止對其他刪除功能的刪除功能。多個Jquery .delegate()問題
所以我有3個表,可用性,經驗和愛好。如果我點擊從愛好列表中刪除一個項目,它可以工作,並且可以使其他人工作。後來從嗜好中刪除仍然有效。
看着它與螢火蟲,似乎每一次點擊從可用性或經驗刪除條目觸發相同的鏈接,第一次觸發從愛好刪除,就好像它已經保存並不會改變它。
$(document).ready(function() {
var i = 1;
var pager;
var pai;
var thetab;
$('#tabs-5').delegate('.delav', 'click', function (e) {
e.preventDefault();
pager = $(this).attr("href");
$("#dialog2").dialog({
autoOpen: false,
width: 600,
modal: true,
buttons: {
"Confirm": function() {
$('#ava_list').html("Loading..");
pai = $('#epa_id').val();
thetab = "availability";
$.get("/_includes/functions.php", {
cache: false,
table: thetab,
pa: pai,
delattr: pager
}, function (data) {
$('#ava_list').html(data);
});
$(this).dialog("close");
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
$("#dialog2").dialog("open");
});
});
$(document).ready(function() {
var i = 1;
var pager;
var pai;
var thetab;
$('#tabs-3').delegate('.delexp', 'click', function (e) {
e.preventDefault();
pager = $(this).attr("href");
$("#dialog2").dialog({
autoOpen: false,
width: 600,
modal: true,
buttons: {
"Confirm": function() {
$('#exp_list').html("Loading..");
pai = $('#epa_id').val();
thetab = "";
$.get("/_includes/functions.php?ms=", {
cache: false,
table: thetab,
pa: pai,
delattr: pager
}, function (data) {
$('#exp_list').html(data);
});
$(this).dialog("close");
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
$("#dialog2").dialog("open");
});
});
$(document).ready(function() {
var i = 1;
var pager;
var pai;
var thetab;
$('#tabs-7').delegate('.delhob', 'click', function (e) {
e.preventDefault();
pager = $(this).attr("href");
$("#dialog2").dialog({
autoOpen: false,
width: 600,
modal: true,
buttons: {
"Confirm": function() {
$('#hob_list').html("Loading..");
pai = $('#epa_id').val();
thetab = "hobby";
$.get("/_includes/functions.php", {
cache: false,
table: thetab,
pa: pai,
delattr: pager
}, function (data) {
$('#hob_list').html(data);
});
$(this).dialog("close");
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
$("#dialog2").dialog("open");
});
});
不清楚點擊刪除是否會觸發正確的事件處理程序......無論如何,您重複使用相同的var名稱幾乎相同的代碼(據我所知,除了選擇器之外)三次,這使得它更難以調試。您應該嘗試重構它並避免重複... – mamoo
所有這些工作都會觸發刪除功能。如果刷新我的頁面然後觸發刪除事件的可用性,經驗或愛好,他們都工作。哪個是最先使用的工作 - 然後似乎阻止其他人的工作。我也有他們每個人的增加功能 - 這工作得很好,無論。 – Ben