У меня есть много ссылок на моей странице, которые я хочу изменить, чтобы, когда я щелкаю ссылку, он удалял элемент, поэтому я прикрепил обработчик события к родительскому элементу div следующим образом:
<div id="parent">
<a href='#' data-itemid='1'>Delete Me</a>
<a href='#' data-itemid='2'>Delete Me</a>
<a href='#' data-itemid='3'>Delete Me</a>
</div>
И я использовал следующий JQuery
$('#parent').delegate('a', 'ajax:beforeSend', function(event){
event.preventDefault();
var target = $(event.target);
if (target.is('a')) {
var itemid = target.attr('data-itemid');
$.post("/item/"+itemid+'.json', {
_method: 'delete'
});
}
})
.live('ajax:success', function(event, data, status, xhr){
var itemid = data + '';
console.log(itemid);
$('item-' + itemid + '-content').fadeOut();
});
Проблема в том, что когда я нажимаю на ссылку, POST отправляется, и моя страница получает ответ, однако строка event.preventDefault () не работает, потому что событие click проходит и отправляет второй GET просьба перезагрузить мою страницу.
Как я могу предотвратить перезагрузку этой страницы? Я использую JQuery 1.5.1 и Rails 3.0.7.
Спасибо