jQuery追加事件问题

时间:2013-10-04 19:06:55

标签: javascript jquery html css

我正在尝试构建一个练习卡片游戏设计,而且我仍然坚持添加手动画。这一次,我认为使用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/

感谢。

1 个答案:

答案 0 :(得分:4)

从单击的元素中删除click事件,然后将新的click事件添加到单击的元素中。

$('.deck .card').on('click', function () {
    // $(this).appendTo('.hand')
    $('.hand').append(this)
    $(this).off('click').on('click', function(){
        $(this).addClass('flip')
    })
})

http://jsfiddle.net/FAZUc/16/

事件授权使其变得更加容易。

$('.deck').on('click', '.card', function () {
    $('.hand').append(this)
});
$('.hand').on('click','.card', function(){
    $(this).addClass('flip')
});

http://jsfiddle.net/FAZUc/18/