search

Home  >  Q&A  >  body text

javascript - 怎么设置一个网页中 点开一个链接后 其它链接不能再点击

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

<script type="text/javascript">

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

});
});
</script>

这个咋样

大家讲道理大家讲道理2901 days ago585

reply all(5)I'll reply

  • ringa_lee

    ringa_lee2017-04-10 14:23:42

    $("#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); // 延时跳转,期间可点击其他链接做测试。
    });
    
    

    reply
    0
  • 高洛峰

    高洛峰2017-04-10 14:23:42

    可以绑定个click事件,点击后其他所有连接给个 event.preventDefault(); 来禁止。

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:23:42

    jquery

    $('#Link').click( function(){
        $('a').each(function(){
            $(this).click(function(e){
                e.preventDefault();
            });
        }    
    });
    

    以上写法很挫,请参考楼下的几位
    @草帽

    reply
    0
  • 阿神

    阿神2017-04-10 14:23:42

    一个暴力的方案是:

    • 把所有的链接用一个特定id的p包起来

    • 在每个链接处设置onClick事件,一旦任何一个链接被点击就触发。

    • 触发后,重写包含特定id的p的innerHTML,把所有链接去掉

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 14:23:42

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

    reply
    0
  • Cancelreply