在javascript / jQuery中取消'on'事件

时间:2014-11-21 13:29:39

标签: javascript jquery css javascript-events

我的代码中有以下jQuery脚本,它在css动画结束时执行:

    $('.player').on('webkitAnimationEnd', function() {
        gameOver();
    });

我想知道如何取消或取消设置,以便在动画结束时不再执行gameOver功能。

谢谢。

1 个答案:

答案 0 :(得分:3)

选项1:.one()

这将运行一次,直到此代码再次绑定为止。

$('.player').one('webkitAnimationEnd', function() {
    gameOver();
});

http://api.jquery.com/one/


选项2:.off()

像这样使用:

$('.player').on('webkitAnimationEnd', function() {
     gameOver();
});

function gameOver() {        
     $('.player').off('webkitAnimationEnd');
}

http://api.jquery.com/off/


选项3

如果您有多个绑定到同一元素的动画事件,请使用命名空间来区分:

$('.player').on('webkitAnimationEnd.gameOver', function() {
        gameOver();
});

function gameOver() {        
     $('.player').off('webkitAnimationEnd.gameOver');
}