Клонировать элементы в DOM с помощью jQuery - PullRequest
1 голос
/ 08 ноября 2011

Мне нужно клонировать элемент из DOM, чтобы он полетел в корзину. Я использую .clone() из jQuery. Проблема в том, что когда я впервые щелкаю элемент, он клонируется дважды, а не один раз, а когда я щелкаю его снова, он клонируется один раз. Почему это происходит?

Мой кусок кода:

$(document).ready(function() {
$('.addd-body').click(function() {
    $(this).parent().clone().prependTo('.carro');
});});

Рабочий код вы можете увидеть на сайте Mashini .

Ответы [ 3 ]

1 голос
/ 08 ноября 2011

Пожалуйста, обновите, когда вы выясните причину;Я думаю, что это еще не все, так как ваш код выглядит хорошо.

Test1: попробуйте изменить свой код, чтобы остановить распространение

$('.addd-body').click(function(e) {
    $(this).parent().clone().prependTo('.carro');
    e.stopPropagation();
});

Test2: попробуйте ограничить события клика до реальной ссылки

$('.addd-body').delegate('click', 'a.item_add', function() {
    $(this).closest('ul').clone().prependTo('.carro');
});
0 голосов
/ 08 ноября 2011

Попробуй так:

$(document).ready(function() {
$('.item_add').click(function() {
    $(this).parents(".body-cart:first").clone().prependTo('.carro');
});});
0 голосов
/ 08 ноября 2011

Измените $ ('. Addd-body'). Click (...) на $ ('. Addd-body> a'). Click (...) Кажется, у вас есть обработчик, прикрепленный к элементу LI, который затем распространяется на элементы anchoe и снова запускается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...