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

Javascript 在从一个节点路由转换到另一个节点路由时执行jQuery,javascript,jquery,css,animation,Javascript,Jquery,Css,Animation,下面我有一些jQuery: $(function () { $('.mnav a').click(function () { el = $('.border'); el.addClass('blink'); el.one('webkitAnimationEnd oanimationend msAnimationEnd animationend', function (e) { el.removeCla

下面我有一些jQuery:

$(function () {
    $('.mnav a').click(function () {
        el = $('.border');
        el.addClass('blink');
        el.one('webkitAnimationEnd oanimationend msAnimationEnd animationend',
        function (e) {
            el.removeClass('blink');
        });
    });
});
它为动画的元素添加一个类,然后在动画运行后删除该类,因此每次单击该元素动画的链接时

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

我想要的效果是,当用户单击登录链接时,这种效果会在用户转到新路由时发生


是否有办法解决此问题?

您必须在所有当前元素和未来元素上绑定单击事件:

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

如果去新的路线需要重新加载页面,不,这是不可能的。现在我正在本地开发,它从到。我不确定这是否是一个页面重新加载?如果不是用ajax,那就是用页面重新加载。在这种情况下有没有办法使用ajax?我是一个全新的人,以前从未使用过ajax。当然,这是可能的,但需要在您这方面做大量工作。你基本上是把你的网站/应用程序变成一个单页的应用程序,它有自己的一系列问题,但这不起作用。我希望有一种不使用ajax的方法,但似乎没有。