javascript - 在打开链接之前执行 jQuery 事件

标签 javascript jquery html

我有一个简单的 javascript/jQuery 相关问题:

我的 tumblr 博客中有以下标记:

<a href="/page/#" class="pagination">NEXT</a>

上面的 # 根据用户所在的页面而变化。即:#是可变的,不能是静态的。

使用 jQuery,我想在打开新链接之前执行一个效果(slideUp();,具体而言)。

这可能吗?

我已经尝试了 .click().mousedown()。似乎不起作用,因为当我单击链接时,新页面会在任何效果发生之前打开。

我听说过 preventDefault(),但我想回避它,因为那意味着我必须创建一个单独的函数来检测页号等(太多了工作~)

最佳答案

我建议不要这样做。只需让用户更改页面即可。

但是,如果您真的想要,您需要做的确实是 preventDefault(明确地,或者通过从您的处理程序返回 false),执行 slideUp,然后在slideUp完成函数中,触发URL的变化。

像这样:

$("a.pagination").click(function() {
    // Grab the link's href
    var href = this.href;

    // Slide up the content you want to slide up
    $("some_selector_here").slideUp(function() {
        // Slide is finished, navigate
        location.href = href;
    });

    // Prevent the default action of the link
    return false;
});

关于javascript - 在打开链接之前执行 jQuery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6825955/

相关文章:

javascript - Div contenteditable 并在 FF 上按 "enter"

javascript - php mysql 在一页和一个查询中插入多行数据

javascript - 打字时的 Asp.net 数字分组

javascript - 在动态创建的 HTML 上添加 onclick 事件导致错误 : Uncaught SyntaxError: Unexpected identifier

javascript - 页面加载后提醒

html - CSS 指标仪表板

javascript - 在 JavaScript 中动态创建 JSON 对象

jQuery UI AutoComplete - 不是函数

java - 当我们为客户端使用 GWT 时,我们需要在服务器端使用 java 吗?

html - 内容上的电子邮件 HTML 边框,而不是单元格?