【问题标题】:Disabling/enabling all links on page禁用/启用页面上的所有链接
【发布时间】:2012-09-29 04:15:42
【问题描述】:

我正在开发一个销售画廊,用户在其中点击图片,页面前面会出现一个弹出框。该框包括产品详细信息、订单信息和一个风格化的退出按钮,用于关闭框并返回画廊。用户还可以通过在框外单击返回到图库。但是,当该框打开时,我希望禁用窗口后面的所有链接(导航菜单等),但退出按钮除外。一旦用户关闭框,它们应该再次启用。我试过玩类似的东西

$('a:not(a.popout)').removeAttr('href');

$('a').attr('href', '');

无济于事。他们唯一能做的就是永久关闭页面上的每个链接,当然,一旦我完全删除了 href 属性,就无法再次启用它们。还有其他人尝试过这样做吗?也许我正在做他很难的方式。没有想法了。谢谢!

【问题讨论】:

  • 处理这个问题的最佳方法是使用模态类型弹出(覆盖),干杯

标签: javascript jquery popup gallery disable-link


【解决方案1】:

当您打开弹出窗口时,将shutdown 类添加到所有锚点:

$('a:not(a.popout)').addClass('shutdown');

然后只是阻止此类元素的默认行为:

$(document).on('click', 'a.shutdown', function(e){

    e.preventDefault();

});

当您关闭弹出窗口时,删除类。

【讨论】:

    【解决方案2】:

    $.click() 处理程序绑定到您的链接,并将prevent default

    $('a').not('.popout').click( function(event) {
      ...
      event.preventDefault();
    });
    

    祝你好运!

    【讨论】:

      【解决方案3】:

      使用这个

      $('a:not(a.popout)').click(function(e){
      e.preventDefault();
      
      //or 
      
      return false;
      
      })
      

      【讨论】:

        猜你喜欢
        • 2013-04-27
        • 2016-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-09
        • 2013-03-27
        • 2013-02-06
        • 2013-02-11
        相关资源
        最近更新 更多