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

标签 javascript jquery css jquery-events

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

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

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

最佳答案

选项 1:.one()

这将运行一次并且永远不会再次运行,直到再次绑定(bind)此代码。

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

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


选项 2:.off()

像这样使用 off:

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

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

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


选项 3

如果你有多个动画事件绑定(bind)到同一个元素,使用命名空间来区分:

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

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

关于javascript - 在 javascript/jQuery 中取消 'on' 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27062551/

相关文章:

javascript - 拖动图片但从可拖动图像中删除名称元素

javascript - 如何从MVC Controller 向AngularJS Controller 返回消息

javascript - 从表单字段提交数组到数据库

javascript - 如何在 jQuery 中检测当前页面的媒体类型

image - 如何编写复杂的响应式图像网格

javascript - nodejs 异步/ promise hell

javascript - 有没有办法编写使子列表字段列变灰的客户端脚本(Netsuite 2.0)?

jquery - 将一个元素类复制到另一个元素类

html - div 不会为 float 内容扩展高度

html - 如何只选择第二个 li 元素的第一个子元素