Исходя из предоставленного вами кода, я бы, вероятно, сказал, что у вас есть другой код, вызывающий itemDetails()
. Каждый раз, когда вызывается itemDetails()
, он добавляет другой обработчик события для click
к вашему .item-details
. Вы можете вместо этого сделать:
$(document).ready(function()
{
$('.item-details').click(function ()
{
event.preventDefault();
var url = $(this).attr('href');
$.getJSON(url, function (result)
{
$('.modal-title').empty().html(result.title);
$('.modal-content').empty().html(result.html);
$('#modal').slideDown(100);
$('.ui-button').button();
addToCart();
$('.modal-close').click(function ()
{
event.preventDefault();
$('#modal').hide();
});
});
});
});
Это добавит обработчик событий к вашим .item-details
классифицированным элементам и вызовет события только один раз. Если вы добавили и удалили динамический .item-details
, вы, вероятно, должны использовать:
$('.item-details').live('click', function() ...