Я пытаюсь создать карточный дизайн для практики, и я застрял в анимации добавления в руку. На этот раз я подумал, что использование append и добавление четных обработчиков будет работать, но оказалось, что он работает только для последнего добавленного элемента (в данном случае li). вот код на jsfiddle для более легкого тестирования.
Код:
$('.deck .card').on('click', function () {
// $(this).appendTo('.hand')
$('.hand').append(this)
$('.hand .card').on('click', function(){
$(this).addClass('flip')
})
})
Я попытался переместить событие клика за руку вне колоды, но это не сработало. Кроме того, здесь приведен код в jsfiddle для более легкого тестирования http://jsfiddle.net/FAZUc/9/
Благодарю.
Удалите событие click из элемента clicked, а затем добавьте новое событие click только в элемент с кликом.
$('.deck .card').on('click', function () {
// $(this).appendTo('.hand')
$('.hand').append(this)
$(this).off('click').on('click', function(){
$(this).addClass('flip')
})
})
Делегирование событий делает это еще проще.
$('.deck').on('click', '.card', function () {
$('.hand').append(this)
});
$('.hand').on('click','.card', function(){
$(this).addClass('flip')
});
$(this).off('click').on('click',...
jsfiddle.net/FAZUc/16