javascript - 在从一个节点路由转换到另一个节点路由时执行 jQuery

标签 javascript jquery css animation

我在下面有一些 jQuery:

$(function () {
    $('.mnav a').click(function () {
        el = $('.border');
        el.addClass('blink');
        el.one('webkitAnimationEnd oanimationend msAnimationEnd animationend',
        function (e) {
            el.removeClass('blink');
        });
    });
});

它将一个类添加到一个动画元素,然后在动画运行后删除该类,因此每次我单击该元素动画的链接。

该动画在我的 layouts.ejs 的 <%- body %> 标记中的元素上运行。当我从“/”路线转到“/users/new”路线时,我认为动画发生在“/”路线上,但我没有看到它,因为我将在“/users/new”路线上。

我想要的效果是,当用户点击登录链接时,效果会在转到新路线时发生。

有办法解决这个问题吗?

最佳答案

您必须在所有当前元素和 future 元素上绑定(bind)点击事件:

$(function () {
    $('body').on("click",".mnav a",function () {
        el = $('.border');
        el.addClass('blink');
        el.one('webkitAnimationEnd oanimationend msAnimationEnd animationend',
        function (e) {
            el.removeClass('blink');
        });
    });
});

关于javascript - 在从一个节点路由转换到另一个节点路由时执行 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33109048/

相关文章:

键中带有点的 JavaScript 字典

javascript - 将值从 javascript 插入数据库

javascript - 单击图像时显示文本/单击不同图像时隐藏文本

html - 无法使用 Bootstrap v2.0.4 定义水平表单

html - CSS Sprites 不适用于导航

html - 如何将所有文本和搜索栏放在同一行?

javascript - 如何以编程方式获取 npm 安装全局模块的位置

javascript - 使用Lightbox2显示视频

php - 如何在用户按下按钮后将进度更新从 PHP 推送到页面?

jQuery 向导步骤在 ajax 调用完成之前移动