原题

  • 标题:怎么设置一个网页中 点开一个链接后 其它链接不能再点击
  • 网址:http://segmentfault.com/q/1010000000434859/a-1020000000435212
  • 问题详情:

怎么设置一个网页中 点开一个链接后 跳转之前 页面其它链接不能再点击

$(document).ready(function(){
    $("a").click(function(){
          var url=this.href;
          $("a").attr("href","#");
          window.location.href=url;
  });
});

这个咋样


解答

$("#Link").click(function(){
    $("a").not("#Link").click(function(e){
        e.preventDefault();
    });
});

update --- 贴一下完整代码: 步骤:点击A链接,其他链接不可点击,跳转到A链接。

$("a").click(function () {

    $("a").not($(this)).text("即将不可点击"); // 测试,改变其他 a 的 text,下面再禁用它们的点击。

    $("a").not($(this)).click(function (e) {
        e.preventDefault(); // 禁止当前a之外的其他a的点击事件。
    });

    window.location.href = $(this).href; // 跳转到目的地,当前a的href。
});

--- update again,添加一个 setTimeout 测试其他链接的点击。

$("a").click(function (e) {
    e.preventDefault(); // 取消本次事件的默认行为

    var thatURL = $(this).attr("href"); // 拿到目标 URL。

    $("a").not($(this)).text("即将不可点击"); // 测试,改变其他 a 的 text,下面再禁用它们的点击。

    $("a").not($(this)).click(function (e) {
        e.preventDefault(); // 取消当前 a 之外的其他 a 的默认行为(点击事件)。
    });

    // 建个函数做跳转
    function redirect() {
        window.location.href = thatURL;
    }

    setTimeout(redirect, 3000); // 延时跳转,期间可点击其他链接做测试。
});